2016-04-29 89 views
0

在maven projet中,我有一個非常特殊的插件(jsweet-maven-plugin),它可以在構建時從聲明的依賴關係動態生成.class文件。我需要這些.class文件在構建路徑,Maven以及IDE(用於自動完成)。在maven中處理生成時間生成的.class文件

有沒有辦法在maven中正確處理它?

我能想到的最好方法是做一個專門的maven模塊,將這些.class包裝在一個jar中,然後將該jar添加爲我的其他項目的依賴項。那樣。那些.class被正確地添加到構建路徑。

但是,此方法在NetBeans IDE中失敗,因爲IDE將依賴項視爲計算機中存在的項目。不是反編譯.class,而是尋找相關項目中的源代碼,並且因爲沒有源代碼而失敗......直到我更改了項目的版本並且IDE依賴於jar而不是源代碼。

我很喜歡生成的類文件夾,其行爲與生成的源相同,但對於類文件...有沒有一個maven-guru會知道一種方式?編輯1:在編譯時生成的文件不是java源代碼,但已編譯的文件(.class擴展名):字節碼。

回答

0

有幾個辦法:

  1. 生成你的類一次,生成的.java文件複製成你的src/main/java下的樹,並在POM註釋掉自動生成的東西。 XML。這樣做的好處是您可以將行爲和toString()方法添加到生成的類中,並且IDE自動完成很高興。缺點是如果你需要再次生成,那麼可以進行合理的合併。
  2. 如您所做的那樣創建一個單獨的庫。將庫安裝到Maven存儲庫中,並確保已經上傳了Java源代碼。在IDE中關閉該項目。 (這在Eclipse中有效 - 我期望Netbeans的行爲類似)。

我已經嘗試了兩種方法,總是回到選項1.但是我通常從WSDL生成JAXWS類。您的確切要求對我而言並不熟悉,所以祝您好運!

+0

感謝您的回答。 我已經知道如何處理正確生成的來源,如從WSDL生成的客戶端。 但是這裏的問題是,這不是生成的java源代碼,而是.class文件(字節碼)。 –