2

我想编写一个 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 就足够了。例如,我想为outputDirectoryMaven 资源插件指定一个自定义,以便将 JavaScript 资源复制到target/classes/script-resources而不是target/classes. 这可以在插件中完成而不复制整个 ResourcesMojo 类并在那里更改属性的默认值吗?

4

1 回答 1

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>   
于 2011-08-02T20:51:48.703 回答