我在java上有一个新手问题;无法正确设置类路径。我错过了一些非常基本和微不足道的东西。无法正确设置Java类路径
我有一个jar文件。 foo.jar,在e:\ bar中。
这个工作的命令行,在当前目录为e:\酒吧
java -jar foo.jar <params>
当我改变目录E:它开始投掷类没有发现异常。所以我设置了-cp来指定类路径。无论我都试过,到目前为止,它已经无法正常工作
java -cp ".;e:/bar/*;e:/bar/lib/*" -jar bar/foo.jar <params>
java -cp "." -jar bar/foo.jar <params>
....
我总是得到这样的例外:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/MultiThreadedHttpConnectionManager
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:187)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:171)
at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:112)
at org.apache.axis.deployment.wsdd.WSDDTargetedChain.makeNewInstance(WSDDTargetedChain.java:196)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:310)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:296)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getTransport(WSDDDeployment.java:470)
at org.apache.axis.configuration.FileProvider.getTransport(FileProvider.java:282)
at org.apache.axis.AxisEngine.getTransport(AxisEngine.java:283)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:179)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at com.ideas.jws.gftservice.GFTMessenger.sendMessage(GFTMessenger.java:1
因为当Windows开始使用'/'作为目录分隔符而不是'\'? – zubergu
@zubergu大约15年前(如果不是更多),任何一个人都可以工作。 – immibis
我建议你使用eclipse导出一个Java项目与依赖JAR文件相结合,那么你根本不需要设置classpath,请参阅http://stackoverflow.com/questions/11033603/how-to-create -a-jar-with-external-libraries-included-in-eclipse –