从 Ant 启动 tomcat 7 时出现 java.lang.NoClassDefFoundError [英] java.lang.NoClassDefFoundError while starting tomcat 7 from Ant

查看:29
本文介绍了从 Ant 启动 tomcat 7 时出现 java.lang.NoClassDefFoundError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的目标是使用 Ant 启动 tomcat.这是我的脚本:

<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true" dir="${tomcat.home}"><类路径><fileset dir="${tomcat.home}/bin"><include name="bootstrap.jar"/><include name="tomcat-juli.jar"/></文件集></classpath><jvmarg value="-Dcatalina.home=${tomcat.home}"/></java></目标>

脚本执行后,我收到此输出:

java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory在 org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60)引起:java.lang.ClassNotFoundException:org.apache.juli.logging.LogFactory在 java.net.URLClassLoader$1.run(URLClassLoader.java:366)在 java.net.URLClassLoader$1.run(URLClassLoader.java:355)在 java.security.AccessController.doPrivileged(Native Method)在 java.net.URLClassLoader.findClass(URLClassLoader.java:354)在 java.lang.ClassLoader.loadClass(ClassLoader.java:425)在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)在 java.lang.ClassLoader.loadClass(ClassLoader.java:358)... 1 更多线程main"中的异常Java 结果:1

我检查过:org.apache.juli.logging.LogFactory 类出现在 tomcat-juli.jar 中!

可能有什么问题?

解决方案

由于一些未知的奇怪原因,即使我使用 java -jar 命令从命令行启动它,tomcat 也无法在我的系统中启动.

但是,我设法启动它使用 java -cp "bin\bootstrap.jar;bin\tomcat-juli.jar" org.apache.catalina.startup.Bootstrap 命令,从 tomcat.home 目录执行.

ant 中执行相同操作的代码:

<arg line="-cp bin\bootstrap.jar;bin\tomcat-juli.jar"/><arg value="org.apache.catalina.startup.Bootstrap"/></exec>

My goal is to start tomcat using Ant. Here is my script:

<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>

After script execution I receive this output:

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

I've checked: org.apache.juli.logging.LogFactory class is presented in tomcat-juli.jar!

What could be wrong?

解决方案

For some unknown weird reasons tomcat doesn't start in my system even when I launch it from command line using java -jar command.

However, I managed to start it using java -cp "bin\bootstrap.jar;bin\tomcat-juli.jar" org.apache.catalina.startup.Bootstrap command, executed from tomcat.home directory.

The code in ant which does the same:

<exec executable="java" dir="${tomcat.home}">
    <arg line="-cp bin\bootstrap.jar;bin\tomcat-juli.jar"/>
    <arg value="org.apache.catalina.startup.Bootstrap"/>
</exec>

这篇关于从 Ant 启动 tomcat 7 时出现 java.lang.NoClassDefFoundError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆