【发布时间】:2013-12-30 10:52:01
【问题描述】:
我的目标是使用 Ant 启动 tomcat。这是我的脚本:
<target name="tomcat-start">
<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true" dir="${tomcat.home}">
<classpath>
<fileset dir="${tomcat.home}/bin">
<include name="bootstrap.jar"/>
<include name="tomcat-juli.jar"/>
</fileset>
</classpath>
<jvmarg value="-Dcatalina.home=${tomcat.home}"/>
</java>
</target>
脚本执行后,我收到以下输出:
java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 1 more
Exception in thread "main"
Java Result: 1
我已经检查过:org.apache.juli.logging.LogFactory 类出现在 tomcat-juli.jar!
可能出了什么问题?
【问题讨论】:
-
您确定类路径条目指向正确的位置吗?您列出了 jar,但您没有显示存储它的位置,并且 Ant 可能没有在正确的目录中查找它。
-
@chrylis,我已经使用
<echo>检查了文件路径,并且还尝试了在<java>ant 任务中设置类路径的不同方法。没有任何帮助。