我正在尝试执行一个访问jar文件中的方法的java类。我的包结构是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.
答案 0 :(得分:1)
您还必须将bin目录添加到类路径中,因为JVM需要查看它以查找您的类。当你在里面运行时,你可以用“。”来引用localy:
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