无法执行目标 org.apache.maven.plugins:maven-antrun-plugin

7

在为 Adhar(UIDAI)设置开发环境时,其文档记录 在此处

我遇到了以下错误

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.3:
run (generate-sources) on project uidai-auth-proto-model: An Ant BuildException

根据文档,在从此处下载源代码后,我们需要在命令行中运行mvn eclipse:eclipse。构建成功后,我们可以将这些项目导入到eclipse中。
构建成功的消息 输入图像描述 但是由于某些原因,我无法构建。 输入图像描述 我的maven、ant和java配置 输入图像描述 UID Protobuf模型文件 UID-Protobuf的Git存储库在此处

@Jens,他们的文档中没有提到ant。无论如何,这是我系统中ANT_HOME路径 C:\Users\Sai\AppData\Local\Ant\apache-ant-1.9.6。我的ant工作得非常好,我用它来构建Cordova应用程序。 - user3616287
你能展示一下 UID Protobuf Model 子项目的 pom 文件吗? - Jens
你的 PATH 环境变量里是否包含了 protoc - pingw33n
@pingw33n 不,我没有。 - user3616287
你不需要Ant Maven-Ant与Ant无关。 - DollarAkshay
3个回答

11
问题在于maven-antrun-plugin未能构建(执行)。在uidai-auth-proto-model/pom.xml中,将插件包含在pluginManagement标签之间,如下所示:
<pluginManagement>
  <plugins>
    <plugin>
      <artifactId>maven-antrun-plugin</artifactId>
      <version>1.3</version>
      <executions>
        <execution>
          <id>generate-sources</id>
          <phase>generate-sources</phase>
          <goals>
            <goal>run</goal>
          </goals>
          <configuration>
            <tasks>
              <exec executable="protoc">
                <arg value="--java_out=src/main/java" />
                <arg value="--proto_path=src/main/proto/auth/" />
                <arg value="src/main/proto/auth/auth.proto" />
              </exec>
              <exec executable="protoc">
                <arg value="--java_out=src/main/java" />
                <arg value="--proto_path=src/main/proto/bfd/" />
                <arg value="src/main/proto/bfd/bfd.proto" />
              </exec>
            </tasks>
            <sourceRoot>src/main/java</sourceRoot>
          </configuration>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>2.2-beta-5</version>
    </plugin>
    <plugin>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>2.8</version>
    </plugin>
    <plugin>
      <artifactId>maven-release-plugin</artifactId>
      <version>2.3.2</version>
    </plugin>
    <plugin>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <archive>
          <manifest>
            <addClasspath>true</addClasspath>
          </manifest>
        </archive>
        <includes>
          <include>packaged/**/*</include>
          <include>in/**/*</include>
        </includes>
      </configuration>
    </plugin>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.0.2</version>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

7
非常感谢您。我只是在 <plugins> 标签周围添加了 <pluginManagement>,然后它就完美地工作了。 - DollarAkshay
肯定是<pluginManagement>有帮助,谢谢!我花了很多时间寻找解决方案。 - koralgooll
非常感谢您!<pluginManagement> 对我来说非常好用! - eugene.polschikov
pluningManagement 标签已经存在于我的pom.xml中,所以我将其移除并添加到“maven-antrun-plugin” artifactId的外部插件中。然后它就起作用了。谢谢。 - pratiksha mayekar

1
你需要在PATH或项目根目录中拥有protoc(Protobuf编译器)。确保使用与POM中声明的protobuf-java构件相同的protoc版本。

请检查 UID Protobuf Model 的代码 git。我相信,我已经在项目中使用了它。 - user3616287

0

另外,在uidai-auth-xsd-model/pom.xml中也要做同样的操作:

<pluginManagement>
  <plugins>
    <plugin>
      <artifactId>maven-antrun-plugin</artifactId>
      <version>1.3</version>
    </plugin>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>2.2-beta-5</version>
    </plugin>
    <plugin>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>2.8</version>
    </plugin>
    <plugin>
      <artifactId>maven-release-plugin</artifactId>
      <version>2.3.2</version>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>jaxb2-maven-plugin</artifactId>
      <executions>
        <execution>
          <goals>
            <goal>xjc</goal>
          </goals>
          <configuration>
            <outputDirectory>C:\Users\kumar.rahul@fin1.com\Downloads\uidai-auth-client-1.6-src\uidai-auth-xsd-model/src/main/java</outputDirectory>
            <extension>true</extension>
          </configuration>
        </execution>
      </executions>
      <configuration>
        <outputDirectory>C:\Users\kumar.rahul@fin1.com\Downloads\uidai-auth-client-1.6-src\uidai-auth-xsd-model/src/main/java</outputDirectory>
        <extension>true</extension>
      </configuration>
    </plugin>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接