我正在尝试执行一个java类,该类访问jar文件中的方法。我的包结构是com.xmlpost.XmlPostInit.java,它位于以下目录下:
D:\Workspace\Test\bin
我正在使用下面的命令。请注意,cs.jar
包含类 com.xmlpost.XmlPostInit
D:\Workspace\Test\bin>java -classpath D:\FatWire\JSK\7.6.0\App_Server\apache-tomcat-6.0.18\webapps\cs\WEB-INF\lib\cs.jar com.xmlpost.XmlPostInit
..这给了我以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/xmlpost/XmlPostInit
Caused by: java.lang.ClassNotFoundException: com.xmlpost.XmlPostInit
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: com.xmlpost.XmlPostInit. Program will exit.
最佳答案
您还必须将 bin 目录添加到类路径中,因为 JVM 需要在其中查找才能找到您的类。当您在其中运行时,您可以使用“.”在本地引用它:
D:\Workspace\Test\bin>java -classpath .;D:\FatWire\JSK\7.6.0\App_Server\apache-tomcat-6.0.18\webapps\cs\WEB-INF\lib\cs.jar com.xmlpost.XmlPostInit
关于java - 无法从命令提示符运行引用类路径中的 jar 的 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9416475/