我的maven插件没有执行

我的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

我遵循了以下指南:

我已经用pom文件创建了一个maven插件项目“hello maven plugin”:

<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>