2013-10-11 81 views
0

這是可能已經被問到的問題,我不知道。有點新在Java。Java .jar文件和依賴項

我在unix上寫了一件關於NetBeans的東西。在IDE上一切看起來很酷,所以我想將我擁有的(只有兩個.java類)編譯成一個jar文件,以便我可以在其他地方運行它。我添加了一些編譯時庫(其他.jars),但是當我在NetBeans上構建項目並從CLI(java -jar thing.jar)運行它時,它會拋出一堆像這樣的異常。

EXCEPTION: Class com.systinet.saaj.soap.SOAP11ProtocolHandler or one of its components not found in root.wasp-impl.SOAP 
... 
... 
EXCEPTION: [url]http://systinet.com/wasp/app/security_services_client:security_services_client[/url] -> I couldn't find deployment 
descriptor (QName="{[url]http://systinet.com/wasp/app/builtin_serialization[/url]}builtin_serialization")of dependant package. 

我編譯.jars時是否缺少某種依賴關係?我應該將這些庫放在類路徑中,還是在命令行參數中引入一些東西?

+0

如果您使用IDE,爲什麼使用CLI構建JAR? – ppeterka

+0

哦,我的意思是我在NetBeans中構建它,然後嘗試從CLI運行它。抱歉。編輯更多澄清。 –

回答

1

將項目構建從IDE移動到命令行時,需要確保您在IDE中設置的所有jar依賴關係現在都可以在classpath中使用。否則,你會看到像ClassNotFoundException,NoClassDefFoundError等問題。

+0

我只是將目錄添加到類路徑中?或罐子本身? –

+0

這取決於你。如果你有很多jar,那麼最好把整個目錄放在classpath中。 –

+0

是的,但包括他們仍然會導致同樣的錯誤。會處理SOAP請求之外的東西嗎?也許就是這樣。我不確定。 –