按照一个教程操作
1.先在POM.XML文件里 最上边的内容里 添加<packaging>jar</packaging>
<groupId>com</groupId>
<artifactId>springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springboot</name>
<description>springboot</description>
在<build></build>里面修改或者添加为:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.springboot.Application</mainClass>
</configuration>
</plugin>
</plugins>
</build>
mainClass 里面写你的启动类
2.在启动类当中加上extends SpringBootServletInitializer并重写configure方法,这是为了打包springboot项目用的。
@SpringBootApplication
@MapperScan("com.springboot.mapper")
public class Application extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
System.out.println("启动成功");
}
@Override//为了打包springboot项目
protected SpringApplicationBuilder configure(
SpringApplicationBuilder builder) {
return builder.sources(this.getClass());
}
}
3.然后在application.properties当中配置端口8099 具体什么看你喜好
server.port=8099
4.右键项目---->Run As------>Maven build....
打开后在Goals: 这一栏填写clean package
填写完后点击Run
这里有个坑,有时候 clean会报错 但是其实没有影响 直接
右键项目---->Run As------>Maven Install
5.最后发现你的项目下target文件夹内 有两个jar的文件,名字短的是可以给别人用的,名字长的是本地用,不用管他。
6.测试jar成不成功
运行cmd 进入你项目下的target文件下
执行 java -jar jar文件名
启动成功就可以用了。
最坑的来了,当我运行我打包的jar文件后 出现错误
Cannot determine embedded database driver class for database type NONE(无法确定数据库类型“无”的嵌入数据库驱动程序类 )
百度了一大堆方法修改,最终无用。
仔细思考后,发现这个是数据源的错误,如果配置没有错误,那就是缺少什么东西没进去jar包。
用压缩文件打开jar包发现,少了application.properties 这个配置文件。
在自己的项目中,我把application.properties配置文件放在了src/main/java 里面 ,打包的时候不会把这个配置文件放进去,就会报错,本地运行的时候会自动读取,所以这就很坑,按照要求还是要放在src/main/resources里面。
修改配置文件的目录后。打包发布,运行成功。
GA