如何修改Maven扩展中的默认属性

时间:2011-07-11 13:37:43

标签: maven maven-2 maven-plugin maven-extension

我想编写一个maven插件(扩展)来实现javascript项目的生命周期,因此可以编译带有这样的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
  <modelVersion>4.0.0</modelVersion>

  <groupId>de.ailis.maven.javascript</groupId>
  <artifactId>demo</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <name>Maven JavaScript Demo Project</name>
  <packaging>javascript</packaging>

  <build>
    <plugins>
      <plugin>
        <groupId>de.ailis.maven.plugins</groupId>
        <artifactId>maven-javascript-plugin</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build>

</project>

我已经成功创建了一个带有components.xml文件的插件,该文件定义了生命周期,因此我可以在各个阶段调用自己的Mojos。但是,只要我可以更改某些默认值,默认mojos就足够了。例如,我想为Maven Resources Plugin指定自定义outputDirectory,以便将JavaScript资源复制到target/classes/script-resources而不是target/classes。这可以在插件中完成,而无需复制整个ResourcesMojo类并更改属性的默认值吗?

1 个答案:

答案 0 :(得分:0)

魔:

public class MyMojo extends AbstractMojo
{
    private String foo; //filePath

    public void execute()
        throws MojoExecutionException
    {         
        ...
        writeFile(foo)
        ...
    }
}

的pom.xml

<plugin>

    <groupId>de.ailis.maven.plugins</groupId>

    <artifactId>maven-javascript-plugin</artifactId>

    <version>1.0.0-SNAPSHOT</version>

    <configuration>

        <foo>script-resources</foo> 

    </configuration>

</plugin>   
相关问题