在Cargo开源项目的帮助下,试图从Ant脚本自动启动JBoss。我在下方显示此错误。非常感谢!
<taskdef resource="cargo.tasks">
<classpath>
<pathelement location="${cargo.core.jar}"/>
<pathelement location="${cargo.ant.jar}"/>
</classpath>
</taskdef>
cargo-core-uberjar-1.2.1.jar
cargo-ant-1.2.1.jar
<!-- Start JBoss -->
<target name="startJboss" depends="prepare">
<cargo id="mycontainerid" containerId="jboss51x" home="C:/opt/jboss/jboss-4.0.5.GA/bin" action="start" wait="false" />
</target>
Buildfile: D:\opt\trunk\build.xml
startJboss:
BUILD FAILED
D:\opt\trunk\build.xml:51: Could not create type cargo due to java.lang.NoClassDefFoundError: org/apache/commons/discovery/resource/ClassLoaders
Total time: 2 seconds
答案 0 :(得分:2)
如果您使用的是JBoss 4.0.5.GA,那么您是否应该使用containerId
而不是jboss51x
的匹配值? (我有一段时间没有使用过Cargo,所以我可能错了)
Cargo - Ant support page说 ANT任务可能还需要一些其他依赖项。有关详细信息,请参阅“安装”页面。;当我转到Installation时,它告诉我你需要满足Cargo的基本依赖关系,包括Commons Discovery(你的错误信息告诉我,缺少)和Commons Logging。将这些JAR添加到taskdef
的类路径中,并再次拍摄。