首页 > 解决方案 > exec-maven-plugin 给出类未找到异常

问题描述

我有一个 java 类HelloWorld.java,有一个打印“Hello world”的主要方法。

要通过 POM.xml 执行此类,我正在使用exec-maven-plugin.

我在这里使用它的官方文档http://www.mojohaus.org/exec-maven-plugin/usage.html实现了它,如下所示:

<build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.6.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>java</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>com.demo.printTest.HelloWorld</mainClass>
                    <arguments>
                        <argument>argument1</argument>
                    </arguments>
                    <systemProperties>
                        <systemProperty>
                            <key>myproperty</key>
                            <value>myvalue</value>
                        </systemProperty>
                    </systemProperties>
                </configuration>
            </plugin>
            <plugin>another plugins</plugin>
    </build>

我试图通过以下命令运行,但每个命令都失败:

  1. mvn 执行:javajava.lang.ClassNotFoundException: com.demo.printTest.HelloWorld
  2. mvn exec:exec java
  3. mvn java

难道我做错了什么?我已经在这里发布了Maven Run Project

标签: javamaven

解决方案


您的代码是否编译为 target/classes/ ?如果不是,您可能错过了 Maven 编译阶段?当您调用 mvn exec:java 时,您不会进入 mvn 生命周期,并且未编译 java 源代码,因此您的 exec 无法找到该类。

在执行之前尝试先进行 mvn 编译。

编辑: 在此处查看正确答案:如何使用 Maven 执行程序?


推荐阅读