Параметры mainClass для цели org.codehaus.mojo: exe c -maven-plugin: 3.0.0: java отсутствуют или недействительны - PullRequest
0 голосов
/ 18 июня 2020

Я получаю эту ошибку при добавлении exe c -maven-plugin в мой файл pom. xml.

Моя структура проекта:

Основной проект -> 2 подпрограммы проектов и в одном из подпроектов я добавил exe c -maven-plugin в pom. xml.

Когда я запускаю mvn clean compile exe c: java install command из подпроекта, тогда она отлично работает и дает ожидаемый результат, но при запуске команды mvn clean compile exe c: java install из основного проекта появляется ошибка ниже:

Не удалось выполнить цель org.codehaus.mojo: exe c -maven-plugin: 3.0.0: java (default-cli) в проекте hello: параметры mainClass для цели org.codehaus.mojo: exe c -maven-plugin: 3.0.0: java отсутствуют или недействительны -> [Справка 1]

У меня есть требование, которое я должен выполнить команда сборки только из основного проекта, поэтому есть ли способ, которым этот плагин должен работать из основного проекта, а не из дочернего проекта?

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>

У меня есть com.example.dt.drl.ConstructDRLUtility в проекте hello.

Заранее спасибо.

...