我正在創建一個eclipse插件,並且遇到外部罐子的麻煩。在我的插件中,我啓動了一個需要一些外部罐子的應用程序。我需要做些什麼才能自動將其與插件的其餘部分一起導出?eclipse插件中的外部罐子
在此先感謝:)
我正在創建一個eclipse插件,並且遇到外部罐子的麻煩。在我的插件中,我啓動了一個需要一些外部罐子的應用程序。我需要做些什麼才能自動將其與插件的其餘部分一起導出?eclipse插件中的外部罐子
在此先感謝:)
plugin.xml
Runtime
選項卡,在類路徑部分這是一個簡單的方法,雖然它確實創建了一個額外的插件。
在Eclipse:
New>Other
,然後Plug-in Development>Plug-in from existing JAR archives
。Java Build Path
的Projects
選項卡上添加新項目。編輯:您可以通過組合,而不是了Zsolt 和user714965下面的兩個建議罐子合併到您的插件。
如果組合了多個罐子,還需要確保他們的許可證允許。 –
按照以下的步驟,外部JAR文件將包含在您導出插件:
lib
,但是無論什麼都適合你。build.properties
,並在左側的Binary Build部分中檢查要包含在構建中的JAR。儘管在同一捆綁中組合罐子是可能的,但它不是在OSGi環境中執行它的「正確」方式 - http://stackoverflow.com/questions/3013583/what-is-the-standard-way- to-bundle-osgi-dependent-libraries/3015072#3015072 – Robin
@Robin當然,我在上面描述的是針對手頭問題的快速和骯髒的解決方案。 –
這是爲我工作添加您的JAR。如果它們確實是外部的,並且這是一個針對你的公司的項目,它不會處於「狂野」狀態,並且你控制了環境,並且你在文件系統上擁有它們,在/ opt/java/lib/somedir /some.jar,可以通過將它們添加到META-INF下的MANIFEST.MF中的Bundle-ClassPath條目來告訴捆綁軟件在哪裏找到它們。語法是: 捆綁-CLASSPATH中, 外部:/opt/java/lib/somedir/some.jar, 外部:/opt/java/lib/someotherdir/someother.jar
而且這將是謹慎地在構建路徑中使用這些元素,以便在構建和運行時環境中使用相同的jar。
我已經完成了Jars在文件系統上的多用途(如apache-commons),並且我們再次控制環境。
謝謝!!!這是實際的答案,它的工作原理!只要注意'* .jar'將不起作用。 – ACV
安迪·托馬斯的做法大多是工作,但你也需要導出通過現有所需的軟件包插件添加到新的包裝插件中,以便插件可以在運行時訪問它們。
這個答案更適合發表評論。也歡迎來到SO :)。 –
更多詳細信息請登錄: – eactor
**重要提示:**僅添加包含文件夾是不夠的。另外,在插件的項目設置(而不是MANIFEST/plugin.xml)中添加依賴項在編譯時只會「隱藏」錯誤。 –
這隻會添加當前項目的罐子。無法添加外部罐(位於磁盤上的某個位置),但它不是可移植的,但是當您需要它時,您需要它。 – ACV