【发布时间】:2015-02-26 12:42:58
【问题描述】:
我在 ubuntu 中使用 jenkins,我需要从 python 脚本调用一个 java 类。代码:
import os
import shutil
import sys
from subprocess import call, STDOUT
param1=os.getenv(‘PARAM1’)
param2=os.getenv(‘PARAM2’)
param3=os.getenv(‘PARAM3’)
cmd1 =”cp /…/Class.class $JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_NUMBER/Class.class ”
cmd2=”java $JENKINS_HOME/jobs/$JOB_NAME/builds/$BUILD_NUMBER/Class ” +””+param1+””+param2””+param3
print>>> sys.stder, “Launching command: “ + cmd2
call(cmd1,shell=True)
call(cmd2,shell=True)
但控制台输出显示“错误:无法找到或加载主类” 我检查了文件是否被复制,并且 Jenkis 已经安装了 Java SE Development Kit 8u31 版本。 我尝试分两步构建该过程,首先复制 java 文件,然后设置变量并进行第二次调用,但出现相同的错误。 谢谢,
我已将代码更改为:
classpath=os.path.join(os.getenv('JENKINS_HOME'),"jobs",os.getenv(JOB_NAME'),"builds",os.getenv('BUILD_NUMBER'))
cmd2=[“java”,”-classpath”,classpath,”Class”,param1,param2,param3]
call(cmd2)
代码有效!!!
当我使用参数构建时,控制台输出显示“Usage_ java [- options] class [args...]...”
【问题讨论】:
-
请格式化您的代码。