我的maven插件没有执行
我遵循了以下指南: 我已经用pom文件创建了一个maven插件项目“hello maven plugin”:我的maven插件没有执行,maven,Maven,我遵循了以下指南: 我已经用pom文件创建了一个maven插件项目“hello maven plugin”: <project> <modelVersion>4.0.0</modelVersion> <groupId>sample.plugin</groupId> <artifactId>hello-maven-plugin</artifactId> <version>1.0-SNA
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>sample.plugin</groupId>
<artifactId>hello-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>Sample Parameter-less Maven Plugin</name>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>sample.plugin</groupId>
<artifactId>hello-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>sayhi</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
它按预期在控制台中打印“Hello,world.”
我已经创建了另一个maven项目“MyProjectUsage”,在这里我想使用“HelloMaven插件”插件。它有以下pom:
<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>
<artifactId>my-project</artifactId>
<groupId>com</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>my-project-usage</artifactId>
<build>
<plugins>
<plugin>
<groupId>sample.plugin</groupId>
<artifactId>hello-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
</plugin>
</plugins>
</build>
</project>
4.0.0
我的项目
通用域名格式
0.0.1-快照
我的项目使用
sample.plugin
你好maven插件
1.0-快照
当我构建此项目时,hello maven插件从未执行过,为什么?您在
部分指定了插件的位置,因此您需要在第一个pom中进行适当的设置:
<plugins>
<plugin>
<groupId>sample.plugin</groupId>
<artifactId>hello-maven-plugin</artifactId>
...
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>sayhi</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
sample.plugin
你好maven插件
...
编译
早希
部分指定插件应该在maven的哪个阶段运行,
指定要执行插件的哪个目标将这个
块从第一个POM移动到第二个POM,因为您需要在那里执行插件,在那里使用插件,而不是插件本身
<plugins>
<plugin>
<groupId>sample.plugin</groupId>
<artifactId>hello-maven-plugin</artifactId>
...
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>sayhi</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>