在banner.txt
的底部,有以下内容
Running Spring Boot ${spring-boot.version} on java ${java.version} in environment ${ccic.environ}
以
开头Running Spring Boot 2.0.5.RELEASE on java 1.8.0_144 in environment uat
我们今天有些害怕,因为有人注意到它对1.8.0_144
说java.version
,但是我们应该运行1.8.0_131
。经过进一步调查,我们可以确认我们正在使用1.8.0_131
运行。
我很好奇1.8.0_144
的来源。似乎MANIFEST.MF
包含键1.8.0_144
的{{1}}值,可能是构建服务器上的Java错误。那是春天在读吗?
令我惊讶的是,Build-Jdk
在运行时会更喜欢java.version
。我在想吗?为什么Spring Boot没有返回正确的Java版本?我尝试在spring源代码中查找,但是找到“ java.version”或“ javaversion”并没有帮助。
答案 0 :(得分:0)
事实证明,MANIFEST.MF
和春天都是红色鲱鱼。我们使用Maven进行构建,并启用了过滤功能。构建正在过滤banner.txt
并替换该值。我们使用以下配置来防止banner.txt
发生过滤。
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>banner.txt</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>banner.txt</include>
</includes>
</resource>