背景
一些系统应用,会为了适配不同的平台,导致不同的分支下用的是不同的gradle,导致需要不同的JAVA环境来编译,比如a分支需要使用JAVA11, b分支使用JAVA17。
但是jenkins上,一般都是Global Tool Configuration 全局所有环境公用一个JAVA_HOME。
尝试过用 Build 的ExecuteShell 里面去export JAVA_HOME,但是没有生效,猜测应该是只影响了shell脚本的环境,而不会影响到项目编译的环境。
解决办法
-
当这个项目所有分支都是用另一个JAVA环境(比如JAVA17),其他项目都是默认JAVA环境(比如JAVA11)
可以全局配置JAVA11, 然后在这个特殊项目jenkins配置下找到**
Inject environment variables to the build process
** 选择Properties Content
填入对应的JAVA17的路径JAVA_HOME=/usr/local/jdk_17.0.11
-
当这个项目,更特殊,比如 在 a分支需要使用JAVA11, b分支使用JAVA17
一般是系统应用,然后不同的分支适配了不同