【问题标题】:maven plugin descriptor not getting generatedMaven插件描述符未生成
【发布时间】:2014-01-06 14:18:05
【问题描述】:

我正在创建一个 maven 插件,MVN 全新安装构建成功但 plugin.xml 没有生成。

@Mojo( name = "cover",  defaultPhase = LifecyclePhase.POST_INTEGRATION_TEST)
public class RunCoverage extends AbstractMojo
{

    @Parameter( property = "cover.wadl", defaultValue = "test")
    private String wadl;

    @Parameter( property = "cover.endpoints",defaultValue = "test")
    private String endpoints;

    @Override
    public void execute() throws MojoExecutionException
    {
        <somecode>
    }
}

而 pom.xml 是

<?xml version="1.0" encoding="UTF-8"?>
<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>

    <artifactId>end-point-test-coverage</artifactId>
    <version>1</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-plugin-api</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.plugin-tools</groupId>
            <artifactId>maven-plugin-annotations</artifactId>
            <version>3.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-plugin-plugin</artifactId>
                <version>3.2</version>
                <executions>
                    <execution>
                        <id>default-descriptor</id>
                        <goals>
                            <goal>descriptor</goal>
                        </goals>
                        <phase>process-classes</phase>
                    </execution>
                    <execution>
                        <id>help-descriptor</id>
                        <goals>
                            <goal>helpmojo</goal>
                        </goals>
                        <phase>process-classes</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Maven 全新安装不会生成 plugin.xml

在依赖项目中使用时,出现以下错误

解析插件描述符失败。gruppopam.common:end-point-test-coverage:1 (/home/d/.m2/repository/it/common/end-point-test-coverage/1/end -point-test-coverage-1.jar):在 META-INF/maven/plugin.xml 中找不到插件描述符 -> [帮助 1] [错误]

【问题讨论】:

  • 首先我会尝试将包装类型设置为maven-plugin,而不是默认的jar。此外,我建议使用更新版本的插件(maven-compiler-plugin:3.1)并使用更新版本的 maven-plugin-api(3.0?但不是 2.0)。除此之外,您能否在mvn clean package 期间发布完整的输出,或者这个项目是否可以在 Github 或类似的地方获得?
  • @khmarbaise 非常感谢,我更改了包装类型并将插件更新为最新版本。事情就像微风一样。

标签: maven maven-plugin


【解决方案1】:

首先我会尝试将包装类型设置为maven-plugin,而不是默认的jar。此外,我建议使用更新版本的插件(maven-compiler-plugin:3.1)并使用更新版本的 maven-plugin-api(3.0?但不是 2.0)。

【讨论】:

    【解决方案2】:

    你必须记住在你的 pom.xml 中把它改成:

    <packaging>maven-plugin</packaging>
    

    默认情况下:

    <packaging>jar</packaging>
    

    【讨论】:

      猜你喜欢
      • 2013-09-30
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 2018-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      相关资源
      最近更新 更多