2011-06-09 49 views
0

我需要生成一些小文本文件,這些文本文件將在另一個項目的生成源階段(輸入到FMPP/FreeMarker的數據文件)中用作輸入。生成器是Java源代碼 - 也就是說,生成文本文件的代碼在第一個項目中編譯。在這種情況下,數據文件通常如何從一個項目傳遞到另一個項目?如何構建Maven3項目以在另一個項目中生成輸入以生成源代碼?

我可以拼湊一打跛腳的方式來做到這一點 - 我正在尋找最佳做法。

目前,我通過讓第一個項目生成一個可執行的jar文件來避免這個問題,該jar文件由第二個項目運行以生成數據文件。但是沒有理由讓代碼「公開」 - 要安裝 - 第一個項目的輸出實際上應該只是TDD文件。

回答

0

我不確定我有你想要在這裏做什麼的全貌,但聽起來像你應該使用maven依賴插件。

我假設第一個項目會爲第二個和其他項目所需的數據文件創建工件。第二個項目可以使用依賴插件將該工件解壓縮到目標/生成源或任何需要的地方作爲其構建的一部分。

例如:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>2.1</version> 
    <executions> 
     <execution> 
     <id>unpack-interfaces</id> 
     <phase>initialize</phase> 
     <goals> 
      <goal>unpack-dependencies</goal> 
     </goals> 
     <configuration> 
      <includeArtifactIds>first-project-artifact</includeArtifactIds> 
      <includes>*.TDD</includes> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
0

我希望我不要誤會你了。您可以使用exec-maven-plugin運行maven2項目。這將運行第一個項目併爲下一個項目生成輸入。如果你應該複製* .tdd文件,也許你可以使用maven-resources-plugin這個。希望能幫助到你。

相關問題