我正在尝试在ubuntu 64位上使用32位
java运行TeamCity(默认)构建代理,我创建了一个[TeamCity] /bin/setenv.sh包含:
JAVA_HOME=/usr/lib/jvm/ia32-java-6-sun
这可以很好地运行32位jre的服务器,但不适用于代理:我在[buildAgent] /conf/buildAgent.properties中尝试过这些行
JAVA_HOME=/usr/lib/jvm/ia32-java-6-sun JRE_HOME=/usr/lib/jvm/ia32-java-6-sun/jre
还有'[buildAgent] / jre’链接
[buildAgent]/jre -> /usr/lib/jvm/ia32-java-6-sun/jre/
当我做'[TeamCity] /bin/runAll.sh start’时,我得到了这个:
Using CATALINA_BASE: /srv/TeamCity Using CATALINA_HOME: /srv/TeamCity Using CATALINA_TMPDIR: /srv/TeamCity/temp Using JRE_HOME: /usr/lib/jvm/ia32-java-6-sun Using CLASSPATH: /srv/TeamCity/bin/bootstrap.jar:/srv/TeamCity/bin/tomcat-juli.jar Starting TeamCity build agent... Java executable is found in '/usr/bin/..'. Starting TeamCity Build Agent Launcher... Agent home directory is /srv/TeamCity/buildAgent Current Java runtime version is 1.6 Lock file: /srv/TeamCity/buildAgent/logs/buildAgent.properties.lock Using no lock Done [16436],see log at ../logs/teamcity-agent.log
从输出中可以看出,服务器使用的是32位jdk,但构建代理正在运行’/usr/bin’中找到的java(在我的情况下是64位).
仔细检查'[buildAgent] /bin/findJava.sh’,它看起来像脚本运行’哪个java’并在它甚至尝试任何提供的args /文件夹之前找到默认的系统java.我认为它应该在系统java之前找到'[buildAgent] / jre’.
什么是指定用于构建代理的Java版本的正确方法,构建代理可能与服务器的版本不同?
我应该在检查java的系统路径之前修改findJava.sh来检查它的参数吗?