机器上安装了java 8和11两个版本,不过在使用Maven构建项目时为了兼容客户端,我们常常需要指定编译生成的jar包的java版本。也就是说,即使我平常使用的java 11,我仍然可以编译出java 8可以运行的jar包。
修改项目的pom.xml中的<properties>节点如下:
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<java.version>节点是自己定义的表示java版本。
<maven.compiler.source>表示源码使用的java版本。
<maven.compiler.target>表示编译时使用的java版本。
<project.build.sourceEncoding>表示项目使用的编码,一般设置为UTF-8比较好。
上述源码使用java版本和编译时使用的java版本都使用了我们自己定义的<java.version>值。因为平常这两个节点的值保持一致即可。
一般情况下高版本java运行环境可以运行低版本jdk编译的jar包,反过来就不行了。