[英]Export Java project from Eclipse as JAR with additional referenced jars
[英]How export Java jar from Eclipse with dependencies on other jars?
我正在嘗試從Eclipse項目創建一個自包含的.jar文件。 通過“自包含”,我的意思是該項目的所有依賴項(即其他jar)應該包含在生成的jar中。 我想在另一個項目中使用導出的jar作為庫。 問題是我從依賴項中獲取了一個類的NoClassDefFoundError。 我已經嘗試導出一個包含所有依賴項的runnable jar和一個“普通”jar。 這些都不奏效。
清單看起來像這樣:
Manifest-Version: 1.0
Main-Class: com.path.to.MyMainClass
Class-Path: lib/resolver.jar lib/xercesImpl.jar lib/xml-apis.jar lib/Mac-Cocoa64/swt.jar
.classpath看起來像這樣:
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="lib" path="lib/resolver.jar"/>
<classpathentry kind="lib" path="lib/xercesImpl.jar"/>
<classpathentry kind="lib" path="lib/xml-apis.jar"/>
<classpathentry kind="lib" path="lib/Mac-Cocoa64/swt.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
缺少的類def來自SWT.jar文件。 知道什么可能是錯的或我需要采取什么步驟才能成功導出這個jar,以便它可以包含在其他地方?
干杯,
馬丁
它可能會幫助某人
1.從項目屬性中選擇導出
2.選擇Runnable Jar選項
3.完成JAR創建(在這里,您可以選擇將所有依賴項打包到生成的jar中。)
我會認真考慮使用Maven或像Gradle這樣的類似工具來管理不同項目的依賴關系; 將不同的依賴項塞入一個jar中是非常不好的主意,因此您不必再將它們包含在其他項目中; 這是依賴地獄,圖書館沖突甚至許可沖突的秘訣。
在主應用程序jar的清單中存在該類路徑行將表明您所期望的事實上並非順便發生; 外部引用依賴項,所以我要猜測類不在應用程序jar中。
只是回答這個問題:最后,我們決定將依賴項的jar直接包含在項目中,並避免在jar中使用havign jar。 正在考慮使用Mavin,但是我們的項目設置方式需要一些實質性的挑戰。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.