背景
最近遇到一个业务上问题,使用maven执行线上打包的一个操作,但是java项目有jdk8,有的是jdk11还有的是jdk17的,如何根据不同的项目jdk版本来执行maven呢?
解决方案
这里是临时多版本动态打包,所以不能使用将jdk版本写死到JAVA_HOME的方案。
临时设置JAVA_HOME
export JAVA_HOME=/opt/jdk-11.0.21
执行 mvn -version
输出如下:
Maven home: /opt/apache-maven-3.9.6
Java version: 11.0.21, vendor: Oracle Corporation, runtime: /opt/jdk-11.0.21
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.12.1.el7.x86_64", arch: "amd64", family: "unix"