簡體   English   中英

使用Maven使用Ant腳本生成Java源代碼

[英]Generating Java sources with an Ant script using Maven

我需要生成一些Java源代碼,然后由Maven編譯。 問題是生成這些源的遺留代碼是用Java編寫的。 使用的解決方案(解決方法)是:

  • 使用生成Java源代碼的項目A.
  • 項目B依賴項目A並在Maven中調用antrun來執行項目A中的類

構建項目B時會發生什么,Maven將:

  • 編譯項目A(生成源的代碼)並執行項目A的pom.xml要求它執行的任何操作。
  • 解決這些類(根據項目B的pom.xml的請求) - 因此將生成源並將其添加到項目B中
  • 編譯項目B來源

這是因為Antrun要求項目A中的類在執行時已經被編譯。 然而,這是一個丑陋的解決方案,項目A和B實際上應該只是一個項目。 我知道我應該使用:

<phase>generate-sources</phase>

我看到了一個Groovy的例子(http://blog.retep.org/2009/11/07/using-groovy-to-generate-java-sources-in-maven/),但我想知道是否有任何更簡單的方法,在一個項目中擁有所有內容,而不必將代碼生成從Java更改為groovy或其他東西。

謝謝。

我在這種情況下使用Groovy,但是如果你不想這樣做,那么有兩個獨立的項目是正確的。

我不會從另一個項目編譯一個項目,我只是將它們作為單獨的項目。 通常,代碼生成器項目不會像“真實”項目那樣頻繁地更改,因此不需要一直構建它。

暫無
暫無

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

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