我正在使用第三方代碼,它使用了一些jar(實際上,這是log4j)。當運行我的插件時,我得到了多個錯誤ClassNotFoundException
,NoClassDefFoundError
。由於第三方代碼的使用僅限於ViewPart
,程序正在運行,但未實例化視圖。如何將常規jar添加到插件(ClassNotFoundException,NoClassDefFoundError)?
在Eclipse的編譯時間,我像往常一樣將所需的jar添加到類路徑中,並且在編譯時代碼沒有任何錯誤,包括import
指令log4j
。
因爲我把所有的(許多)需要的jar到lib
子目錄我的項目目錄,我想修改build.properties
如下
source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
META-INF/,\
lib/,\
.
但顯然這並沒有幫助。
我在哪裏可以看到我的整個捆綁包/插件編譯打包以檢查包含哪些罐子?
UPDATE
目前我把需要的jar兩次。
第一個 - 到正常的Eclipse Configure Build Path
窗口:
第二個 - 到plugin.xml
編輯Runtime
標籤的Classpath
部分:
後者的配置使得在build.properties
文件中更改:
source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
META-INF/,\
lib/,\
.,\
lib/java-getopt-1.0.13.jar,\
lib/jsp-api-2.0.jar,\
lib/junit-4.11.jar,\
lib/log4j-1.2.17.jar,\
lib/rhino-1.7R4.jar,\
lib/servlet-api-6.0.36.jar,\
lib/tomcat-catalina-7.0.42.jar,\
lib/commons-logging-1.1.3.jar,\
lib/spring-beans-3.2.0.RELEASE.jar,\
lib/spring-core-3.2.0.RELEASE.jar,\
lib/miglayout-core-4.2.jar,\
lib/miglayout-swt-4.2.jar,\
conf/
那麼有可能AUTOMATE這個怎麼樣?是否有可能AUTOMATICALLY將所有常規類路徑條目傳遞給運行時?
我需要簡化,我不想將jar包成bundle和類似的東西。
問題是開放的。
我沒有'產品'呢。另外我不明白爲什麼要先打包成捆?我正在編寫Java,爲什麼我不能使用jar呢? –
請參閱更新的答案。 –
感謝爲罐子製作單獨的包的理由,但我已經有一些已經制作好的代碼,並且想要將其包裝進去。它具有正常的傳統依賴關係。這些依賴於外部罐子和整個外部項目。 Eclipse允許在插件項目中同時添加。但我不明白爲什麼Eclipse(1)允許他們和(2)忽略它們。如果Eclipse不允許輸入或使用它,那將會很棒。沒有意義可以使用未使用的功能。 –