目标org.codehaus.mojo:exec-maven-plugin:3.0.0:java的参数'mainClass'丢失或无效

时间:2020-06-18 11:23:48

标签: java maven maven-plugin

在pom.xml文件中添加exec-maven-plugin时出现此错误。

我的项目结构是:

主项目-> 2个子项目,在1个子项目中,我在pom.xml中添加了exec-maven-plugin。

当我从子项目运行 mvn clean compile exec:java install 命令时,它可以正常运行并获得预期的结果,但是当运行 mvn clean compile exec:java install < / strong>从主项目执行命令,然后出现以下错误:

无法在项目hello上执行目标org.codehaus.mojo:exec-maven-plugin:3.0.0:java(default-cli):目标org.codehaus.mojo:exec-maven-的参数'mainClass'插件:3.0.0:java丢失或无效-> [帮助1]

我有一个要求,我只需要从主项目运行build命令,那么该插件有什么办法可以从主项目而不是子项目工作?

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <parent> 
        <groupId>com.example.hello</groupId>
        <artifactId>hello_pom</artifactId> 
        <version>1.0-SNAPSHOT</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>

    <artifactId>hello</artifactId>
    <packaging>jar</packaging>
    <name>${project.artifactId} ${project.version}(JAR)</name>

    <dependencies>
        <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-core</artifactId>
            <version>${drools-version}</version>
        </dependency>
        <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-decisiontables</artifactId>
            <version>${drools-version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.4.0</version>
                <executions>
                    <execution>
                        <id>DRL-conversion</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>java</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>com.example.dt.drl.ConstructDRLUtility</mainClass>
                </configuration>
            </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>${maven-dependency-plugin}</version>
            <executions>
              <execution>
                <id>copy-dependencies</id>
                <phase>package</phase>
                <goals>
                  <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
                  <overWriteReleases>false</overWriteReleases>
                  <overWriteSnapshots>false</overWriteSnapshots>
                  <overWriteIfNewer>true</overWriteIfNewer>
                </configuration>
              </execution>
            </executions>
          </plugin>
            <plugin>
                <groupId>org.kie</groupId>
                <artifactId>kie-maven-plugin</artifactId>
                <version>${drools-version}</version>
                <extensions>true</extensions>
                <dependencies>
                    <dependency>
                        <groupId>org.drools</groupId>
                        <artifactId>drools-compiler</artifactId>
                        <version>${drools-version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.drools</groupId>
                        <artifactId>drools-core</artifactId>
                        <version>${drools-version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.kie</groupId>
                        <artifactId>kie-api</artifactId>
                        <version>${drools-version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.drools</groupId>
                        <artifactId>drools-decisiontables</artifactId>
                        <version>${drools-version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.kie</groupId>
                        <artifactId>kie-internal</artifactId>
                        <version>${drools-version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.jbpm</groupId>
                        <artifactId>jbpm-bpmn2</artifactId>
                        <version>${drools-version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.jbpm</groupId>
                        <artifactId>jbpm-flow</artifactId>
                        <version>${drools-version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.jbpm</groupId>
                        <artifactId>jbpm-flow-builder</artifactId>
                        <version>${drools-version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
                <!--This plugin's configuration is used to store Eclipse m2e settings 
                    only. It has no influence on the Maven build itself. -->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.kie</groupId>
                                        <artifactId>kie-maven-plugin</artifactId>
                                        <versionRange>[${drools-version},)</versionRange>
                                        <goals>
                                            <goal>build</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>

,父pom文件为:

<?xml version="1.0" encoding="UTF-8"?>

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example.hello</groupId>
    <artifactId>hello_pom</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>pom</packaging>
    <name>Hello World</name>    

    <modules>
        <module>hello</module>
        <module>hello_zip</module>
    </modules>

</project>

我在hello项目中具有com.example.dt.drl.ConstructDRLUtility。

谢谢。

0 个答案:

没有答案