以前不知道同一台服务器上能同时跑不同JDK版本的项目,想着JAVA_HOME这个环境变量只能设置一个,那么执行java -jar 命令跑项目时只能对应到JAVA_HOME的这个JDK版本。
今天有了这个需求。首先想到的是修改 jekins的部署脚本(我们项目是利用jekins部署的),加了个export JAVA_HOME=XXX:

结果如上图错误,发现是JAVA_HOME后面的 = 号出现了空格,去掉空格。
依然启动报错:

显然,还是JDK版本过低。
看来脚本里加export语句没用。

后面倒腾了下,突然想到配JAVA_HOME的意义就是不用cd到jdk的bin目录下,哪里都能用java等命令。那我不用java命令,用JDK1.8下面的全路径写法的java命令呢?就是 /usr/java/jdk1.8.0_211/bin/java -jar ABC.jar ...
于是修改了 项目.sh里的java命令,用全路径写法代替,果然就可以了。
本文介绍了一种在Jenkins部署过程中遇到的JDK版本冲突问题的解决方案。通过使用JDK完整路径而非JAVA_HOME环境变量,成功地在同一台服务器上运行了不同JDK版本的项目。
1670

被折叠的 条评论
为什么被折叠?



