gpt4 book ai didi

java - 尝试运行打包在 war 文件中并部署在 tomcat 7 下的独立 Java 6 程序时遇到问题

转载 作者:行者123 更新时间:2023-11-28 22:21:58 24 4
gpt4 key购买 nike

问题是,当我通过 Eclipse Juno 运行它时,单击它并“作为 Java 应用程序运行”它起作用了,但它需要在 Linux shell 脚本中运行或至少从 Linux shell 运行。

我需要它将 $CATALINA_HOME/webapps/myapp/WEB-INF/lib 中的所有 jar 文件附加到我的类路径中。

这是我的代码:

package com.myapp.client;

public class ClientApp {
public static void main(String args[]) {
System.out.println("Hi Client");
}
}

当我进入 $CATALINA_HOME/webapps/myapp/WEB-INF/classes/com/myapp/client 时发出以下命令:

java -classpath "/home/devuser/DevTools/apache-tomcat-7.0.32/webapps/myapp/WEB-INF/lib/*:." ClientApp

我收到这个异常:

Exception in thread "main" java.lang.NoClassDefFoundError: ClientApp (wrong name: com/myapp/client/ClientApp)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: ClientApp. Program will exit

当我转到我的主目录 (/home/devuser) 并输入以下内容时,它仍然不起作用:

java -classpath "/home/devuser/DevTools/apache-tomcat-7.0.32/webapps/myapp/WEB-INF/lib/*:." $CATALINA_HOME/webapps/myapp/WEB-INF/classes/com.myapp.ClientApp

Exception in thread "main" java.lang.NoClassDefFoundError: /home/devuser/DevTools/apache-tomcat-7/0/32/webapps/myapp/WEB-INF/classes/com/myapp/ClientApp
Caused by: java.lang.ClassNotFoundException: .home.devuser.DevTools.apache-tomcat-7.0.32.webapps.myapp.WEB-INF.classes.com.myapp.ClientApp
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: /home/devuser/DevTools/apache-tomcat-7.0.32/webapps/myapp/WEB-INF/classes/com.myapp.ClientApp. Program will exit.

感谢您花时间阅读本文...如果有人能帮助我,我将不胜感激。

最佳答案

您所有的库和类都需要在您的类路径中,然后下一个参数是您的类的路径。

java -cp '.:/path/to/libdir/*:/path/to/myapp.war' com.myapp.client.ClientApp

关于java - 尝试运行打包在 war 文件中并部署在 tomcat 7 下的独立 Java 6 程序时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13850788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com