当前位置: 首页 > 知识库问答 >
问题:

使用两次MOJO的exec maven插件失败

祁鸿哲
2023-03-14

我试图运行两次MOJO的exec-maven-plugin,但它抱怨主类没有设置。有了这个我的。Main我想生成几个文件,它们必须在编译阶段之前完成。我做错了什么?为两次执行都设置了主类,并具有正确的参数。

我的pom.xml包含以下内容:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.3.2</version>
    <executions>
        <execution>
            <id>ABC_FALSE</id>
            <phase>generate-sources</phase>
            <configuration>
                <mainClass>my.Main</mainClass>
                <arguments>
                    <argument>-abc</argument>
                    <argument>false</argument>
                </arguments>
            </configuration>
            <goals>
                <goal>java</goal>
            </goals>
        </execution>
        <execution>
            <id>ABC_TRUE</id>
            <phase>generate-sources</phase>
            <configuration>
                <mainClass>my.Main</mainClass>
                <arguments>
                    <argument>-abc</argument>
                    <argument>true</argument>
                </arguments>
            </configuration>
            <goals>
                <goal>java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

跑步后

mvn exec:java

我得到这个错误

Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.2:java (default-cli) on project exec-generation: The parameters 'mainClass' for goal org.codehaus.mojo:exec-maven-plugin:1.3.2:java are missing or invalid.

向你问好,SK

共有1个答案

郗欣嘉
2023-03-14

试试这个:

...
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.1</version>
    <executions>
        <execution>
            <id>exucute_the_executable_jar_1</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>java</goal>
            </goals>
            <configuration>
                <mainClass>the.Main</mainClass>
                <arguments>
                    <argument>a</argument>
                </arguments>
            </configuration>
        </execution>
        <execution>
            <id>exucute_the_executable_jar_2</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>java</goal>
            </goals>
            <configuration>
                <mainClass>the.Main</mainClass>
                <arguments>
                    <argument>b</argument>
                </arguments>
            </configuration>
        </execution>
    </executions>
</plugin>
...

通过使用以下命令调用maven:

mvn package

好的,我在生成资源阶段使用了它,但是您可以更改它。

最好的问候,格拉夫

 类似资料:
  • 在这种情况下,我必须读取某个属性文件,然后调用一个外部程序。 > 为了读取属性文件,我使用了属性Maven插件,在验证阶段使用 为了执行外部程序,我使用execmaven插件,调用goal 但是,如果我调用“mvn exec:exec”,则不会调用验证阶段,因此不会读取属性。 在我当前的场景中,我无法将exec:exec与任何特定的阶段联系起来(这是因为所有其他阶段都有非常具体的作业要处理,而我尝

  • 我有一个带有两个maven插件模块的mutli项目:base和child()。孩子依赖基础。 带POM: 基本编译正确,子级通过编译但失败: 未能在项目plugin-child上执行goal org.apache.maven.plugins:maven-plugin-plugin:3.4:descriptor(default-descriptor):mojo扫描器的API与此插件版本不兼容。请检查

  • 我的问题是:根据这些参数,我可以在哪里归档标准maven插件的API fefinition?

  • 问题内容: 我们在hudson上使用了Maven发布插件,并试图实现发布过程的自动化。发布:准备工作正常。当我们尝试执行release:perform时,它会失败,因为它尝试将源工件两次上载到存储库。 我尝试过的事情 从超级pom中删除确实包含maven源插件的配置文件(不起作用) 在hudson上将发布目标指定为-P!attach-source release:prepare release:p

  • 我的问题是maven-shade-plugin似乎在我的项目上运行了两次。 我的父pom文件在这里:http://pastebin.com/EsYaCbzJ(在这里发布太长了) 该项目的pom(好吧,在这种情况下是模块)给我带来麻烦在这里:http://pastebin.com/jdyGXGpL 我正在尝试在 MySQL jdbc 驱动程序中着色。 这是我希望使用的pom.xml代码块。 现在,当

  • 问题内容: 我工作的代码使用从生成从XSD架构的Java类。我正在寻找一种方法来自动实现和这些类的方法,但似乎没有一种方式。我知道还有其他JAXB2 Maven插件可以做到这一点(例如,http://confluence.highsource.org/display/J2B/Home),但是我想知道你们中的任何人以前是否遇到过此问题,以及是否有办法修复它。我正在使用目标生成类。 问题答案: 您提到