2012-05-08 91 views
12

我真正需要的就是這樣從Eclipse的等效使用Netbeans:Netbeans的導出到罐,包括所有的庫文件

enter image description here

我想Extract required libraries into generated JAR這樣我就可以,而不需要分發包括無處不在的lib文件夾。

這是原來的問題。

我想從Netbeans中建立一個罐子,它將打包所有的庫文件。我聽說通過選擇Export可以使用Eclipse。對於Netbeans,如果我「清理並構建」它將在dist文件夾中創建一個可執行的jar文件,但它所依賴的所有庫都位於一個名爲lib的文件夾中。我需要把它全部放在一個jar文件中。我認爲它與build.xml文件有關。這是我的說法。我在這裏弄錯了什麼?

感謝您的幫助。

<?xml version="1.0" encoding="UTF-8"?> 
<project name="BONotifier" default="default" basedir="."> 
    <description>Builds, tests, and runs the project BONotifier.</description> 
    <import file="nbproject/build-impl.xml"/> 
    <target name="-post-jar"> 
    <jar jarfile="dist/Combined-dist.jar"> 
     <zipfileset src="${dist.jar}" excludes="META-INF/*" /> 
     <zipfileset src="lib/commons-io-1.4.jar" excludes="META-INF/*" /> 
     <manifest> 
     <attribute name="Main-Class" value="controller.MainController"/> 
     </manifest> 
    </jar> 
    </target> 
</project> 

更新:上面的代碼中的build.xml。以下內容位於build-impl.xml中。我猜這意味着build.xml在build-impl.xml期間運行。

<target name="-pre-init"> 
    <!-- Empty placeholder for easier customization. --> 
    <!-- You can override this target in the ../build.xml file. --> 
</target> 

注意我從這個forum得到這個。

+0

嘗試將此jar任務添加到jar創建任務所在的「nbproject/build-impl.xml」。 –

+0

請參閱更新。 – kentcdodds

+0

請參閱更新:) – kentcdodds

回答

15

我更喜歡,因爲this解決方案沒有什麼可下載的,全部基於Ant構建(約20行)。這樣就沒有額外的依賴性來打擾了。如果你有幾分鐘的時間,你也可以學習Ant。

這似乎是原來的文章鏈接被打破(謝謝甲骨文)。這是另一個link

原始文章也可從Oracle link獲得。

+0

工作就像一個魅力。謝謝:) – kentcdodds

+3

@ user845279此鏈接已被打破。是否有任何修復它的機會或直接在您的答案中包含相關信息? – gnomed

+0

@gnomed我更新了鏈接,如果您可以解釋解決方案,請隨時更新我的​​答案。 – user845279

4
  1. 打開生成的罐子7zip的(或其他工具)
  2. 添加的jar庫到該文件夾​​
  3. 編輯清單設置類路徑
1

好了,這是我的解。我也遇到了我的程序在Netbeans上編譯和運行的問題,但是當我嘗試使用Java -jar MyJarFile.jar時,它失敗了。現在,我沒有完全理解Maven,我想這就是爲什麼無法讓Netbeans 8.0.2包含我的jar將它們放到一個jar文件中。我在考慮如何在Eclipse中使用沒有Maven的jar文件。

這是編譯所有依賴和插件的Maven。不是Netbeans。(如果你可以讓Netbeans做到這一點,請告訴我們如何(^。^)v)

[解決 - 對於Linux]通過打開終端。

然後

坎德拉/ MyRootDirectoryForMyProject

接着

MVN org.apache.maven.plugins:行家-編譯器插件:編譯

接着

MVN安裝

這將創建jar文件目標目錄。

MyJarFile-1.0-JAR-與-dependencies.jar

現在

CD目標

(您可能需要運行命令:chmod + X MyJarFile-1.0-JAR-與依賴關係。 JAR) 最後

Java的罐子MyJarFile-1.0-JAR-與-dependencies.jar

請參閱

https://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException

我會後在一對夫婦有類似問題的其他頁面的這一解決方案。希望我能從一週的挫折中拯救一個人。

相關問題