小编Too*_*oke的帖子

如何从 Maven 中的另一个插件继承 Mojo

我试图CompilerMojo从 Maven的默认值继承并执行这个新的 Mojo 作为newcompile目标。

我的设置:

pom.xml 新编译器插件

<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>
    <groupId>test.plugins</groupId>
    <artifactId>new-compiler-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>maven-plugin</packaging>

    <dependencies>
        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-plugin-api</artifactId>
            <version>3.0.5</version>
        </dependency>
    </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

NewCompilerMojo.java

import org.apache.maven.plugin.compiler.CompilerMojo;

/**
 * Goal which touches a timestamp file.
 *
 * @goal newcompile
 * 
 * @phase compile
 */
public class NewCompilerMojo extends CompilerMojo {

}
Run Code Online (Sandbox Code Playgroud)

所以我创建了第二个 Maven 项目来测试new-compiler-plugin. 它的 pom.xml 看起来像这样:

<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>
    <groupId>test.plugins</groupId>
    <artifactId>test-new-compiler-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins> …
Run Code Online (Sandbox Code Playgroud)

java maven-plugin maven

5
推荐指数
1
解决办法
1715
查看次数

标签 统计

java ×1

maven ×1

maven-plugin ×1