2011-06-09 47 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这个。希望能帮助到你。

相关问题