1. 引入插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
2. 编译项目
使用命令编译mvn compile
如果没有先编译的话,会找不到启动类no main manifest attribute, in xxx.jar,如下图所示
3. 打包
打包命令:mvn package spring-boot:repackage
4. 执行jar包
执行命令:
java -jar xxx.jar
扩展
- 那么问题来了,如果我想修改配置文件,总不能修改一次打一个包吧,那岂不是很麻烦?
解决:
配置文件获取路径顺序,获取到配置文件就停止获取了
1. 执行命令所在的目录下的config文件夹下的配置文件
2. 执行命令所在的目录下获取配置文件
3. 执行命令所在的目录下的classpath路径下的config文件夹下的配置文件
4. 执行命令所在的目录下的classpath路径下的配置文件
简单测试了第二种加载顺序和第三种加载顺序,执行启动命令是在target目录下执行的
加载的是执行命令所在的目录下的配置文件
- 如果我想直接在不解压的情况下修改jar包里面的配置文件该怎么做呢?
解决:
2.1vim xxx.jar
2.2 输入/application.yml
定位到需要修改的文件,回车进入配置文件
2.3 修改完成之后保存配置文件(:wq)
2.4 退出之后:q
退出即可 - 直接使用启动命令指定配置文件的路径
命令:java -jar xxx.jar --spring.config.location=配置文件路径