簡體   English   中英

如何從Eclipse導出Java jar並依賴其他jar?

[英]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.從項目屬性中選擇導出

1.選擇“從項目屬性導出”

2.選擇Runnable Jar選項

2. Runnable Jar選項

3.完成JAR創建(在這里,您可以選擇將所有依賴項打包到生成的jar中。)

3.完成創作。

我會認真考慮使用Maven或像Gradle這樣的類似工具來管理不同項目的依賴關系; 將不同的依賴項塞入一個jar中是非常不好的主意,因此您不必再將它們包含在其他項目中; 這是依賴地獄,圖書館沖突甚至許可沖突的秘訣。

在主應用程序jar的清單中存在該類路徑行將表明您所期望的事實上並非順便發生; 外部引用依賴項,所以我要猜測類不在應用程序jar中。

只是回答這個問題:最后,我們決定將依賴項的jar直接包含在項目中,並避免在jar中使用havign jar。 正在考慮使用Mavin,但是我們的項目設置方式需要一些實質性的挑戰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM