我想用pom.xml执行位于同一文件夹中的类文件(或jar文件),其中包含main方法。
这是我的pom.xml
http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 图奥马斯 睡觉 POM 1.0-SNAPSHOT
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<id>sleep</id>
<phase>verify</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>tuomas.App</mainClass>
<classpathScope>tuomas</classpathScope>
</configuration>
</plugin>
</plugins>
</build>
我收到以下错误:
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:java (sleep) on project sleep: Execution sleep of goal org.codehaus.mojo:exec-maven-plugin:1.5.0:java failed: Invalid classpath scope: tuomas -> [Help 1]
这是我的文件夹结构
的pom.xml 。 ..tuomas..App.class
我也尝试过不在插件配置中指定classpathScope属性,而是收到了以下错误。
[WARNING]
java.lang.ClassNotFoundException: tuomas.App
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:281)
at java.lang.Thread.run(Thread.java:745)
无论类文件是在tuomas文件夹下还是在项目根目录下。还尝试将jar安装到本地maven存储库但没有成功。
如何配置此插件以从项目文件夹中查找类?
答案 0 :(得分:1)
首先,摆脱<classpathScope>
参数。 Maven中没有名为toumas
的范围,只有these。默认值为runtime
,适用于大多数人。
如果您的main
方法位于包toumas
和文件App.java
中,则该方法应该有效。
您的陈述:
&#34;我也尝试过不在插件配置中指定classpathScope属性,而是收到了以下错误。&#34;
让我想知道你的Java文件是否真的在src/main/java
下?