1,打包概要介绍:

  自己做了个小demo,突然想练一下如何打包发布,期间出现了两个错误,第一个是加载不到主类,第二个是加载不到jsp文件,一会会把这两个问题一一陈述,以及解决方法。

1.1,先检查pom文件

  因为springboot的项目打包的话他是根据pom.xml文件进行打包的,注意:(仔细观看我写的注释,加载不到jsp文件那你还要回头再看)

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.demo</groupId>
<artifactId>stores-erp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 这边要改成我们jar 因为我们要大jar包 假如是war包的话就写成war -->
<packaging>jar</packaging>
<name>stores-erp</name>
<description>stores-erp</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.18.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.2.5</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- springboot工具 修改代码后不需重启即生效 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
</dependency>
<!-- 文件上传 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
<build>
<!-- 注意最下面的build这块一定要配置否则打jar的时候会说找不 到主类 -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 注意:记住啊 下面<version>1.4.2.RELEASE</version>
这行代码是必须要加的不加的话就全GG了,因为springboot打包有个bug
反正这行代码别忘了加
-->
<version>1.4.2.RELEASE</version>
<configuration>
<mainClass>com.example.demo.SpringBootDay02Application</mainClass>
</configuration>
</plugin>
</plugins>
<!--这里进行配置,后会自动的加载src/main/webapp下的所有文件 :配置Maven 对resource文件 过滤 -->
<!-- 我之前遇见的jsp找不到的问题 就是因为没有配置好以下的文件所以才会加载不到jsp配置文件 -->
<resources>
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>

1.2,pom.xml中需要注意的地方

注意pom.xml最下面的build这块一定要配置否则打jar的时候会说找不到主类(我标红的地方则是Springboot的启动类路径,咱们的路径肯定不一样修改一下哈)

1.3,启动类代码修改

  在启动类当中加上继承 SpringBootServletInitializer类并重写configure方法,这是为了打包springboot项目用的(不是单单实现就完事了,有些代码还需要修改一下,仔细点)

 package com.example.demo;

 import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer; @SpringBootApplication
public class SpringBootDay02Application extends SpringBootServletInitializer{ public static void main(String[] args) {
SpringApplication.run(SpringBootDay02Application.class, args);
}
//为springboot打包项目用的
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// TODO Auto-generated method stub
return builder.sources(this.getClass());
}
}

1.4,application.properties文件检查

    代码大致不需要修改,就是检查各个应用连接之类的,假如在虚拟机上部署的话则需要进行一些修改,端口号啊,环境配置连接等等

 server.port=8080
server.servlet.context-path=/
debug=false spring.datasource.url=jdbc:mysql://localhost:3306/stores-erp?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=321 spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mappers/*/*.xml
mybatis.type-aliases-package=com.example.demo.pojo

2.1,第一步,

  点击项目右键,Run As=》Maven Clean进行项目刷新

2.2,第二步,

  Run As=》Maven insert进行项目打包,假如成功的话则出现以下页面信息:

2.3,第三步,

  我们找到项目中的target文件就可以看到我们的jar包文件等等了。

2.4,第四步,

  你可以选择直接把stores-erp-0.01-SNAPSHOT.jar拷贝出去,也可以直接去他目录下找它,我选择的是找到项目中的jar文件的所在地址,在导航栏输入cmd。

2.5,第五步,

  启动jar包项目,注意:我之前做的时候这边出了个错误,就是加载不到主类等等,是个非常操蛋的错误就是因为少加了个 -  这个坑我提你们踩了- -.(这个执行方式windows和linux上都一样)

3,然后就可以进行访问了效果如下:

使用Eclipse对SpringBoot项目如何进行打包部署的更多相关文章

  1. SpringBoot项目如何进行打包部署

    springboot的打包方式有很多种.有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的.这里主要介绍如何打成jar进行部署.不推荐用war,因为spring ...

  2. eclipse 创建springboot项目

    eclipse创建springboot项目的三种方法: 引自:https://blog.csdn.net/mousede/article/details/81285693

  3. SpringBoot使用Maven插件打包部署

    [问题] 之前一直用SpringBoot做一些小项目,想打包部署在环境上,总是少依赖包jar.百度下可以通过Spring Boot Maven plugin插件,把Maven配置的依赖包都打到项目包里 ...

  4. 用eclipse发布springboot项目

    使用eclipse打包springboot项目时一直报错 [ERROR] No compiler is provided in this environment. Perhaps you are ru ...

  5. SpringBoot项目搭建与打包

    一.环境准备 本地java环境jdk1.8 Maven版本3.5.2 IDE工具idea2017 二.SpringBoot微服务搭建 1.点击File >> New >> Pr ...

  6. 使用Eclipse创建SpringBoot项目

    1  首先我们需要安装STS插件:Help--> Eclipse Marketplace 安装成功之后,会让你重启eclipse. 2  然后 File-->New--->Proje ...

  7. eclipse 运行springboot项目

    一:当在eclipse启动spring boot项目时出现问题: 错误: 找不到或无法加载主类 com.example.demo.DemoApplication 解决办法: 1,通过cmd命令行,进入 ...

  8. maven+springboot项目使用idea打包

    首先简单了解一下maven: 概述 日常开发中,我们用到的maven相关功能大概以下几种: 1. 管理jar依赖 2. 构建项目(打包.编译等) 3. 发布项目(共享.上传至服务器,供他人使用) 简单 ...

  9. (A)eclipse搭建springboot项目入门

    网上许多资料都是用idea的,但是我个人用eclipse习惯了,所以就在eclipse里面自己尝试着写了一个hello. 然而项目建好后却迟迟不能访问!!!网上搜了许多资料都不靠谱! 虽然最后能看到h ...

随机推荐

  1. sql注入原理,利用与防护

    一.sql注入原理 注入攻击的本质就是把用户输入的数据当作代码来执行.所以注入攻击有两个必要条件 1.用户能够控制的输入. 2.原本程序要执行的代码,拼接了用户输入的数据. 二.sql注入分类 按照请 ...

  2. NLP学习(2)----文本分类模型

    实战:https://github.com/jiangxinyang227/NLP-Project 一.简介: 1.传统的文本分类方法:[人工特征工程+浅层分类模型] (1)文本预处理: ①(中文) ...

  3. Spring整合rabbitmq(转载)

    原文地址:https://my.oschina.net/never/blog/140368 1.首先是生产者配置 <?xml version="1.0" encoding=& ...

  4. Nginx中ngx_http_proxy_module模块

    该模块允许将请求传递给另⼀一台服务器器指令:1 ,proxy_pass设置代理理服务器器的协议和地址以及应映射位置的可选 URI .作为协议,可以指定“ http 或 https .可以将地址指定为域 ...

  5. django--没有整理,笔记

    https://docs.djangoproject.com/en/2.2/常用的数据路命令:python manage.py makemigrations 数据移植准备python manage.p ...

  6. Django传递数据给JS

    这里讲述两种方法: 一,页面加载完成后,在页面上操作,在页面上通过 ajax 方法得到新的数据(再向服务器发送一次请求)并显示在网页上,这种情况适用于页面不刷新的情况下,动态加载一些内容.比如用户输入 ...

  7. 轮播图的3个常见bug,即处理bug思路及其解决办法

    1,下载jquery.js文件,并且导入 2,在下面的img中写入可以用图片路径 <!-- 第一个bug: 刚打开页面时,按一下左键图片没切换,再按第二下时才切换图片. 第二个bug: Ctrl ...

  8. 使用Django 测试客户端一起测试视图,模板和URL

    Django 测试客户端 self.client.get(url)  测试客户端是Django中TestCase类的一个属性名. 至此已经在网站中可以创建一个清单了. 那么,现在是可以在unit te ...

  9. paramiko远程上传下载文件

    import paramiko import sys user = "root" pwd = " # 上传文件 def sftp_upload_file(server_p ...

  10. IDEA创建类似于Eclipse的source folder

    1.新建普通文件夹目录directory 2.当前Module右键Open Mudule Settings(F12) 3.选中新建的文件夹并单击上面的Sources,看到文件夹颜色变化即成功.