【发布时间】:2019-04-03 09:29:40
【问题描述】:
我使用 Jenkins 构建了我的项目(JDK 版本 1.7)(版本 2.164.1 和 JDK 1.8)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
然后我得到了一个 jar 文件, 当我解压缩 jar 文件并 vim MANIFEST.MF
Build-Jdk:1.8.0_131
然后我运行
javap -verbose MyClass.class | grep "major"
major version: 51
类文件JDK版本为1.7
我的项目需要用JDK1.7运行,这个有问题吗?
【问题讨论】:
-
它说使用的构建 jdk 是
1.8,但51告诉你“它是”1.7- 你没问题。你有什么顾虑? -
我担心我的项目最后是用JDK1.8编译的,但是运行时是JDK1.7,会有问题。
-
一般来说 - 不,你应该没问题,毕竟你确实将
source/target指定为1.7。 -
您还必须确保不使用 JDK8 中引入的任何 API。您应该从 JDK7 获取 rt.jar 并将引导类路径设置为指向它。 (或者为了安全起见,直接用JDK7编译)
标签: java maven jenkins java-8 java-7