簡體   English   中英

在Maven中處理構建時生成的.class文件

[英]Handle build-time generated .class files in maven

在Maven Projet中,我有一個非常特定的插件(jsweet-maven-plugin),該插件在構建時根據聲明的依賴項動態生成.class文件。 我需要將這些.class文件放在maven以及IDE(用於自動完成)的構建路徑中。

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

我能想到的最好的辦法是做一個專用的maven模塊,將那些.class打包在jar中,然后將該jar作為依賴項添加到我的其他項目中。 這樣,那些.class就會被正確地添加到構建路徑中。

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

我會喜歡一個Generated-classes文件夾,其行為方式與Generated-sources相同,但是對於類文件...是否有一個Maven-guru會知道一種方法?


編輯1:在生成時生成的文件不是Java源代碼,而是已經編譯的文件(.class擴展名):字節碼。

有兩種方法:

  1. 生成一次類,然后將生成的.java文件復制到src / main / java樹中,並在pom.xml中注釋掉自動生成的內容。 這樣的好處是可以將行為方法和toString()方法添加到所生成的類中,並且IDE自動完成功能很令人滿意。 不利的一面是,如果您需要再次生成,則可能需要進行大量合並。
  2. 完成后,創建一個單獨的庫。 將庫安裝在您的Maven存儲庫中,並確保還上傳了Java源代碼。 在IDE中關閉項目。 (這在Eclipse中有效-我希望Netbeans的行為類似)。

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

暫無
暫無

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

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