【发布时间】: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