java - Spring Boot Banner 报错java版本
问题描述
在我们的底部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
key的值Build-Jdk
,大概是构建服务器上的 java 是错误的。那是春天在读它吗?
令我惊讶的是,它java.version
更喜欢MANIFEST.MF
运行时。我的想法不对劲吗?为什么spring boot没有返回正确的java版本?我尝试查看 spring 源代码,但找到“java.version”或“javaversion”并没有帮助。
解决方案
事实证明,theMANIFEST.MF
和 spring 都是红鲱鱼。我们使用 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>
推荐阅读
- r - 如何更改关于 3 组的列的值
- python-3.x - 使用 PyDictionary 打印出 dictionary.meaning() 输出时遇到问题
- python - 获取用僧伽罗语编写的推文并保存在 csv 文件中
- android - Android Studio AddValueEventListener 不起作用
- java - 如何使用我的代码找到最靠近中间的点(基于询问的点数)
- python - ElementTree 不保留属性顺序
- django - 如何在 django 中为 UserProfile 表单创建测试
- html - 为什么我的视频背景与我的登录框没有响应?
- swift - 如何找出某个 OSX 版本可用的 API 版本?
- amazon-web-services - AWS 声称 RDS 同步复制到备用实例可以防止数据丢失