Spring Boot Banner报告错误的Java版本

时间:2019-02-28 18:42:46

标签: java spring spring-boot

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_144java.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”并没有帮助。

1 个答案:

答案 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>