我有一个java类HelloWorld.java
,它的main方法打印“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>
我尝试通过以下命令运行,但每个命令都失败:
- mvn exec:java
java.lang.ClassNotFoundException: com.demo.printTest.HelloWorld
- mvn exec:exec java
- mvn java
我做错了什么吗?我已经在这里查看了帖子Maven Run Project
最佳答案
你的代码是否编译到 target/classes/? 如果不是,你可能错过了 Maven 编译阶段? 当您调用 mvn exec:java 时,您不会进入 mvn 生命周期,并且 java 源代码未编译,因此您的 exec 找不到该类。
在执行之前尝试先进行 mvn 编译。
编辑: 请在此处查看正确答案:How do I execute a program using Maven?
关于java - exec-maven-plugin 给出类未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55952372/