我有一个为我的应用程序生成 Java 类的 Java 程序。基本上,它接受一个类的简单规范并生成一种特殊形式的 Java bean。我想将它集成到我的 Maven pom.xml 中,这样如果输入文件发生更改,Maven 会在 Maven 的编译阶段之前自动生成新的 .java 文件。
我知道如何在 make 中简单地做到这一点,但我在 Maven 文档中没有找到任何具有此功能的内容。
我有一个为我的应用程序生成 Java 类的 Java 程序。基本上,它接受一个类的简单规范并生成一种特殊形式的 Java bean。我想将它集成到我的 Maven pom.xml 中,这样如果输入文件发生更改,Maven 会在 Maven 的编译阶段之前自动生成新的 .java 文件。
我知道如何在 make 中简单地做到这一点,但我在 Maven 文档中没有找到任何具有此功能的内容。
您没有提供有关代码生成过程的太多详细信息,但您可以简单地使用exec-maven-plugin调用代码生成器(请参阅示例部分)。约定是在${project.build.directory}/generated-sources/<tool>
. 然后使用build-helper-plugin及其add-sources
mojo添加生成的源代码。绑定灵态上的所有东西generate-sources
。
我将在下面展示构建助手的内容:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-mytool-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/mytool</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
您还可以编写一个简单的插件来包装您的生成器。在这种情况下,请查看生成源的指南。
PS:我可能遗漏了一些东西,我的回答与您的问题标题之间存在一种不匹配。
Maven为此有阶段“ generate-sources ”