我已经标准化了一个 Maven 项目结构,以便在多个项目的多个开发人员之间使用。其中一部分包括<properties>
从反应堆 POM 中删除并将它们放在单独的文件中。为了使这一切正常工作,我必须在反应器 POM 中包含以下 2 个插件:
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0-rc-5</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
import java.io.File;
String git = ".git";
String propertyFile = "crx.properties";
File f = new File(git);
while (!f.exists()) {
git = "../" + git;
f = new File(git);
}
project.properties[propertyFile] = f.getAbsolutePath().replace(".git", "") + propertyFile;
</source>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${crx.properties}</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
我更喜欢创建我自己的插件来包装这两个插件,以便在多个项目中使用它时可以提高维护和可读性。
我知道基本的插件创建/部署以及所有这些,但我需要知道的是如何在 Mojo(插件代码)中包含这些配置为执行它们已经执行的操作的插件。如果有可能的话。我的在线研究没有找到答案。