在PHPUnderControl中使用Ant会产生java.lang.NoClassDefFoundError

时间:2009-07-27 18:09:03

标签: java ant cruisecontrol phpundercontrol

我安装了最新的CruiseControl和PHPUnderControl,并遵循了所有指示。 我被困在运行“../../apache-ant-1.7.0/bin/ant checkout”并得到下面的输出。 在Google上搜索错误时,建议将JVM路径添加到Ant脚本,但这并没有改变任何内容。

甚至“ant --version”也会输出此错误。

在运行的任何其他应用上似乎没有其他与java相关的问题。

Exception in thread "main" java.lang.NoClassDefFoundError: org.apache.tools.ant.launch.Launcher
   at gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.5.0.0)
   at _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.5.0.0)
   at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/lib/libgcj.so.5.0.0)
   at __gcj_personality_v0 (/var/www/internal/cruisecontrol/cruisecontrol-bin-2.8.2/projects/mytrial/java.version=1.4.2)
   at __libc_start_main (/lib/tls/libc-2.3.4.so)
   at _Jv_RegisterClasses (/var/www/internal/cruisecontrol/cruisecontrol-bin-2.8.2/projects/mytrial/java.version=1.4.2)

我已将Ant更新为1.7.1,问题仍然存在。我也尝试将Java更新为1.6,但在安装之后它仍然报告为1.4.2。

Classpath不是问题,Ant网站明确表示不使用CLASSPATH。

2 个答案:

答案 0 :(得分:1)

一个想法是尝试将ant.jar添加到类路径中。你应该在apache-ant-1.7.0/lib/ant.jar找到罐子。但是,我不知道你如何在PHPUnderControl中指定类路径 - 我还没有看到这个工具。

答案 1 :(得分:0)

使用Java 1.6解决了这个问题。 我不得不修改/ usr / sbin / alternatives以使用新版本的Java。