Mục tiêu của tôi là bắt đầu tomcat bằng Ant. Đây là kịch bản của tôi: java.lang.NoClassDefFoundError khi khởi động tomcat 7 từ Ant
<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>
Sau khi thực hiện kịch bản tôi nhận được kết quả này:
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
Tôi đã kiểm tra: org.apache.juli.logging.LogFactory
lớp được trình bày trong tomcat-juli.jar
!
Điều gì có thể sai?
Bạn có chắc chắn rằng mục nhập classpath đang trỏ đúng vị trí không? Bạn có jar được liệt kê, nhưng bạn đã không hiển thị nơi bạn đang lưu trữ nó, và Ant có thể không được tìm kiếm trong thư mục bên phải cho nó. – chrylis
@chrylis, tôi đã kiểm tra đường dẫn tệp bằng cách sử dụng '' và cũng đã thử các cách tiếp cận khác nhau của việc đặt đường dẫn lớp trong nhiệm vụ kiến ''. Không có gì giúp được. –
ivstas