我在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 –