我的问题如下:在构建Maven项目时执行一些代码。 我浏览了这个论坛并找到this guide。 为此,我创建了一个父项目,这是 pom.xml :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>it.dependency</groupId>
<artifactId>parent-node</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>compilation-node</module>
<module>building-module</module>
</modules>
</project>
然后,我创建了一个子项目,其角色只包含一个带有main的类,我计划在其中插入自定义代码。托管该类的包放在 src / main / java 中。这是前面提到的类的测试内容:
package compilation.node;
public class Compilation {
public static void main(String[]args)
{
System.out.println("Compilation printing");
}
}
这是这个子项目的 pom.xml :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>it.dependency</groupId>
<artifactId>parent-node</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>compilation-node</artifactId>
</project>
最后,我创建了另一个子项目,这是我需要构建的项目,并且必须在构建时执行自定义代码。 这是 pom.xml :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>it.dependency</groupId>
<artifactId>parent-node</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>building-module</artifactId>
<dependencies>
<dependency>
<groupId>it.dependency</groupId>
<artifactId>compilation-node</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>compilation.node.Compilation</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
我确认第二个子项目实际上依赖于它的兄弟使用测试类,无论如何当我构建第二个孩子时(来自Eclipse,右键单击它并选择 Run as - &gt; Maven install ),我需要的代码和放在另一个子项目中的代码不会被执行。 你能告诉我为什么吗?
提前感谢您的支持。