你能为maven exec插件定义exec和java目标吗?

时间:2012-08-16 04:17:21

标签: java maven-3 exec-maven-plugin

我正在尝试使用maven exec插件执行一些任务。一种是运行脚本来生成应用程序将使用的一些外部数据。第二个是在编译阶段运行一大块java代码来做一些方便的工作。

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
    <execution>
        <id>data_for_app</id>
        <phase>generate-sources</phase>
        <goals>
            <goal>exec</goal>
        </goals>
        <configuration>
            <executable>${basedir}/scripts/getappdata.sh</executable>
            <arguments>
                <argument>${basedir}/src/main/webapp/WEB-INF/xml/appdatahere/</argument>
            </arguments>
        </configuration>
    </execution>
    <execution>
        <id>do_convenience</id>
        <phase>compile</phase>
        <goals>
            <goal>java</goal>
        </goals>
        <configuration>
            <mainClass>com.example.DoConvenienceStuff</mainClass>
            <arguments>
                <argument>https://example.com/data</argument>
            </arguments>
        </configuration>
    </execution>
</executions>
</plugin>

但是当我跑步时:

mvn clean package exec:exec

我收到错误:

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project jss: The parameters 'executable' for goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec are missing or invalid -> [Help 1]

或类似的错误,说参数'mainClass'缺失或无效。

1 个答案:

答案 0 :(得分:14)

似乎我遇到的问题是直接调用插件。

exec:exec

通过调用阶段命中插件,它必然会使它工作。

mvn clean generate-sources package