我参照这个博客对springboot的jar包进行瘦身,瘦身成功,但发现无法读取到jar包里的配置文件了。我运行的命令如下:
java -Dloader.path="E:xxxmall-portalargetlib" -jar target/mall-portal-1.0-SNAPSHOT.jar
我看输出的日志里使用了8080端口启动(我配置文件里写的是其他端口),并且默认的配置文件环境变量为dev,推测是直接按照没有配置文件的形式启动的,事实上也完全没有读取到我配置文件里写的数据库url之类的信息。
我将配置文件一起放到lib
目录下又可以正确运行了,通过命令行指定spring.profiles.active
来切换配置文件也没有问题。
我不想把配置文件也放到lib
下面,我觉得我哪里应该搞错了。
下图可以看到jar包中的配置文件是齐全的
以下是我的pom文件截取:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<layout>ZIP</layout>
<includes>
<include>
<groupId>com.xxx.mall</groupId>
<artifactId>mall-portal</artifactId>
</include>
</includes>
</configuration>
</plugin>
<!--拷贝依赖到jar外面的lib目录-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--指定的依赖路径-->
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…