【发布时间】:2020-03-02 12:46:17
【问题描述】:
总结:如何在 Eclipse 之外运行一个 Eclipse Java Maven 项目
详情:
我是 Maven 新手,我在 Eclipse 中创建了一个非常简单的 Maven 项目。
我的项目的Package Explorer视图如下:
package Pkg01;
public class Calculator
{
public double add(double number1, double number2)
{
return number1 + number2;
}
public static void main(String[] args) {
Calculator calculator = new Calculator();
System.out.println(calculator.add(100, 200));
}
}
和
package Pkg01;
import junit.framework.TestCase;
public class TestCalculator extends TestCase
{
public void testAdd()
{
Calculator calculator = new Calculator();
double result = calculator.add(10, 50);
assertEquals(60, result, 0);
}
}
在 Eclipse 中,我可以毫无问题地运行 Java 应用程序、Junit 测试和 Maven 测试。
我的问题是如何从 DOS shell 调用 mvn 命令以便我可以:
- 运行 Java 应用程序
- 运行 Junit 测试
- 运行 Maven 测试
顺便说一句,从项目的父目录运行mvn exec:java 没有为我执行 Java 应用程序。
我的pom.xml 文件如下所示:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.newbie</groupId>
<artifactId>Stackoverflow</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Stackoverflow</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
mvn exec:java 给出以下错误:
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< org.newbie:Stackoverflow >----------------------
[INFO] Building Stackoverflow 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ Stackoverflow ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.957 s
[INFO] Finished at: 2019-11-05T22:47:00-06:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:java (default-cli) on project Stackoverflow: The parameters 'mainClass' for goal org.codehaus.mojo:exec-maven-plugin:1.6.0:java are missing or invalid -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginParameterException
以下是我觉得我的问题是not a duplicate的原因。
我使用 maven-archetype-quickstart 创建了一个非常简单的项目,我的环境是正确的,因为一切{即(1) 运行 Java 应用程序,(2) 运行 Junit 测试和 (3) 运行 Maven 测试} 在 Eclipse IDE 环境中为我工作。另一张海报在执行时遇到了问题,我没有。
另一位发帖人收到的 cmets 主要是为了修复他的环境以使其运行。我没有这个问题,因为如前所述,在 Eclipse IDE 环境中一切都对我有用。
我要问的是我需要做些什么才能从命令外壳中执行以下操作:
- 运行 Java 应用程序
- 运行 Junit 测试
- 运行 Maven 测试
【问题讨论】:
-
您的
pom.xml是否包含mainClass和配置exec-maven-plugin插件的相关元素,以便它知道要运行什么类? -
你能发布你的 pom.xml 和 .classpath 的内容吗?
-
当你运行
mvn exec:java时,你看到了什么?发布您收到的任何消息。 -
我已经编辑了原始帖子以包含
pom.xml以及我在执行mvn exec:java时遇到的错误