2013-05-17 105 views
4

我正在哈德逊运行一个Job。 我从哈德森主服务器构建这项工作,但工作内置在哈德森Linux节点中。 这是结果:java.io.IOException:无法运行程序“ant”

Started by user builder 
Building remotely on Linux-Node 
Updating http: // Server/branches revision: 17-may-2013 16:01:46 depth:infinity ignoreExternals: false 
At revision 529 
Updating http: // Server/branches revision: 17-may-2013 16:01:46 depth:infinity ignoreExternals: false 
At revision 529 
no change for http: // Server/branches since the previous build 
no change for http: // Server/branches since the previous build 
No emails were triggered. 
[bt] $ ant -file build.xml -DSUBSYSTEM=ALL -DTARGET=makeBuild -DCRLIST= -DOWNER= -DbuildTool.patch.release=$RELEASE -DbuildTool.system=$SYSTEM -DbuildTool.patch.type=$PATCH_TYPE -DbuildTool.subsystem=ALL -DbuildTool.buildRules=pkgBuild -DbuildTool.dynamicView=$WORKSPACE/ALL -DbuildTool.compilationRules=compile -DbuildTool.patch.name=$PATCH_NAME makeBuild 
FATAL: command execution failed.Maybe you need to configure the job to choose one of your Ant installations? 
java.io.IOException: Cannot run program "ant" (in directory "/hudson/buildTool/src/bt"): error=2, No existe el fichero o el directorio 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) 
at hudson.Proc$LocalProc.<init>(Proc.java:192) 
at hudson.Proc$LocalProc.<init>(Proc.java:164) 
at hudson.Launcher$LocalLauncher.launch(Launcher.java:639) 
at hudson.Launcher$ProcStarter.start(Launcher.java:274) 
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:794) 
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:768) 
at hudson.remoting.UserRequest.perform(UserRequest.java:114) 
at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
at hudson.remoting.Request$2.run(Request.java:283) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:722) 
Caused by: java.io.IOException: error=2, No existe el fichero o el directorio 
at java.lang.UNIXProcess.forkAndExec(Native Method) 
at java.lang.UNIXProcess.<init>(UNIXProcess.java:135) 
at java.lang.ProcessImpl.start(ProcessImpl.java:130) 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021) 
... 15 more 

你知道一些关于这个问题?

感谢和问候

+0

当然,Ant是安装在classpath中的吗? –

+1

你检查过这个吗? http://stackoverflow.com/questions/5092479/ant-with-hudson – fGo

+0

是的fGo我读了,但我没有找到解决方案。蚂蚁安装在这里:/usr/apache-ant/apache-ant-1.8.2/和$ PATH是:/usr/apache-ant/apache-ant-1.8.2/bin – garci86

回答

2

这是一个比较安全的做法是指以绝对路径的可执行文件。请使用${ANT_HOME}/bin/ant来代替蚂蚁。确保变量已被适当定义。

相关问题