2012-09-17 62 views
2

我知道如何用maven創建帶源代碼的JAR文件,並且還創建可執行JAR。但我的問題是,是否有創建可執行JAR的任何方式(因此它包含所有的.class文件),它還包含源代碼(對於每個.class對應的.java文件)。創建一個帶有源代碼的可執行jar用於調試

我想用eclipse進行調試,因爲我的maven項目是另一個項目的庫,當調試較大的項目時,由於源代碼在JAR中缺失,執行到達我的庫時會丟失跟蹤信息。我在這個論壇中找到了一個解決方案,它建議使用.java文件創建兩個jar文件,一個可執行文件和另一個可執行文件,並在IDE中將源路徑設置爲指向代碼JAR,但我想使用唯一的JAR來代替兩個。那可能嗎?如果不與另一個Java工具的Maven?例如合併兩個JAR文件?

非常感謝。

回答

3

你可以聲明你的源目錄additinal資源目錄

<build> 
    <resources> 
     <resource> 
      <directory>${project.build.sourceDirectory}</directory> 
     </resource> 
     <resource> 
      <directory>src/main/resources</directory> 
     </resource> 
    </resources> 
</build> 

這將會把旁邊的類文件的Java文件 - 我不知道,如果你的IDE支持調試此結構。通常@布里安阿格紐建議路要走。

+0

哼好確定'mvn package'並且你的解決方案完美的工作。只需將生成的JAR文件添加到eclipse中的庫依賴項中,我就可以通過代碼進行調試。通過這種方式,我擁有一個可執行JAR,並且只有一個文件的調試源代碼。我覺得它比維護兩個分離的文件更簡潔,更容易。無論如何非常感謝@Brian Agnew和@FrVaBe – theme

1

我會想如果你使用Maven,你可以創建二進制文件作爲一個可部署的,源代碼的jar文件作爲另一個。這樣,你的IDE應該能夠透明地加載你使用的二進制jar對應的源代碼(在IDE中它給了我一個'下載'選項)。

請參閱this link瞭解更多信息。

maven-source-plugin可以用來爲項目生成一個源代碼jarW 文件。將此源jar部署到遠程存儲庫 對於其他開發人員可能很有用,以便他們可以將源' 和調試附加到項目源代碼中。

+0

是的,我遵循該鏈接中的說明。我認爲這是爲了能夠用.class和.java文件生成單個JAR文件。我嘗試執行maven clean部署,但我得到以下錯誤:[錯誤]無法執行目標org.apache.maven.plugins:maven-deploy-plugin:2.7:部署(默認 - 部署)項目hnm_java:部署失敗:repository元素沒有在distributionManagement元素裏面或在-DaltDeploymentRepository = id :: layout :: url參數中指定 - > [幫助1] [錯誤] '不知道該怎麼做。 – theme

相關問題