springboot 打jar包 记录一个坑

按照一个教程操作
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

扫描二维码关注公众号,回复: 5250652 查看本文章

这里有个坑,有时候 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

猜你喜欢

转载自blog.csdn.net/weixin_34321977/article/details/87138534