我使用maven选项时很新 - 很抱歉一个简单的问题。
我事先询问过如何运行java代码(调用函数)并得到一个明确的答案..但是 这个配置似乎有些不对劲。或者是因为我没有使用正确的启动参数?
<build>
<plugins>
....
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.package.Separator.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
我正在使用$: mvn exec:exec
运行我的POM
我得到了这样的错误:
One or more required plugin parameters are invalid/missing for 'exec:exec'
[0] Inside the definition for plugin 'exec-maven-plugin' specify the following:
<configuration>
...
<executable>VALUE</executable>
</configuration>
-OR-
on the command line, specify: '-Dexec.executable=VALUE'
我已经阅读了有关此错误的内容,并尝试将配置移至执行中 其次 - 指定classpath但没有发生任何事情(( 我在Separator.java类中的Main函数是这样的:
static public void main(String[] arg) throws ParserConfigurationException, TransformerException, SAXException, IOException {
//and here I call for example
System.out.println("LOL");
}
有些人使用:在目标之前打包(对于以前的版本),但它不能解决我的问题。
我已经改写了我的POM:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.package.Separator</mainClass>
</configuration>
</plugin>
但现在org.package.Separator中的Class not found异常 我正在使用mvn包进行编译
答案 0 :(得分:2)
我用$:mvn exec:exec运行我的POM我得到了这样的错误:
其实你应该跑
$: mvn exec:java
参见exec-maven-plugin:java usage上描述的示例。
Finnaly你的插件描述应该如下:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<id>default-cli</id>
<!--<phase>validate</phase>--> <!-- or any other phase you want. -->
<phase>integration-test</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.package.Separator</mainClass>
</configuration>
</plugin>
注意!此插件仅适用于控制台中的全名声明或相位执行:
$: mvn org.codehaus.mojo:exec-maven-plugin:1.3.2:java
$: mvn integration-test
答案 1 :(得分:1)
首先尝试重命名项目的类路径org.package.Separator.Main
&#34;包&#34;用于java命名空间语法,因此不要在包类路径中使用它。
也许你应该尝试为你的目标添加阶段:
...
<executions>
<execution>
<phase>run</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>org.package.Separator.Main</mainClass>
</configuration>
</execution>
</executions>
...
并执行:mvn compile run
答案 2 :(得分:0)
我遇到了同样的问题。我的问题是我的代码不在src / main / java中。包含main方法的类必须在src / main / java
下