我正在创建一个maven插件,MVN clean install build成功但是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 clean install不会生成plugin.xml
在依赖项目中使用时,我收到以下错误
无法解析it.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中找不到插件描述符 - &gt; [帮助1] [错误]
答案 0 :(得分:14)
首先,我会尝试将包装类型设置为maven-plugin
,而不是默认值jar
。此外,我建议使用更多最新版本的插件(maven-compiler-plugin:3.1)并使用更新版本的maven-plugin-api(3.0?但不是2.0)。
答案 1 :(得分:10)
你必须记得在你的pom.xml中将它改为:
<packaging>maven-plugin</packaging>
默认情况下:
<packaging>jar</packaging>