Выполнение проекта Eclipse Java Maven из оболочки Windows (DOS) - PullRequest
0 голосов
/ 06 ноября 2019

Описание: Как запустить проект Eclipse Java Maven вне Eclipse

Подробности:

Я новичок в Maven, и у меня естьсоздал очень простой проект Maven в Eclipse.

Представление Package Explorer моего проекта выглядит следующим образом:

enter image description here
Исходный код для двух простых файлов Java выглядит следующим образом:

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.

У меня вопрос, как я могу вызвать команду mvn из оболочки DOS, чтобы я мог:

  1. Запустить приложение Java
  2. Запустить тест Junit
  3. Запуск теста 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  

Вотпричины, по которым я чувствую, что мой вопрос не является дубликатом .

Я создал очень простой проект с помощью maven-archetype-quickstart, и моя среда верна, потому что все {т.е. (1) Запустите приложение Java, (2) Запустите тест Junit и (3) Запустите тест Maven} работает для меня в среде Eclipse IDE. У другого автора возникли проблемы с выполнением , чего я не делаю.

Комментарии, полученные другим автором, были в основном направлены на исправление его среды для запуска. У меня нет этой проблемы, поскольку, как уже упоминалось, у меня все работает в среде Eclipse IDE.

Все, что я спрашиваю, - это то, что мне нужно сделать, чтобы следующие вещи работали из командной оболочки:

  1. Запуск приложения Java
  2. Запуск теста Junit
  3. Запуск теста Maven

1 Ответ

1 голос
/ 06 ноября 2019

Сообщение об ошибке гласит parameters 'mainClass' for goal org.codehaus.mojo:exec-maven-plugin. Если вы посмотрите документацию exec: java , то обязательный параметр mainClass

Я не вижу, что exec-maven-plugin былсконфигурирован в вашем pom.xml, чтобы вы могли запускать программы на Java, используя следующую команду

mvn exec:java -Dexec.mainClass="com.example.Main"

Убедитесь, что вы скомпилировали свой код, используя команду mvn compile или mvn install перед запуском mvn exec.. команда

C:\data\development\app_code\my-app>mvn exec:java -Dexec.mainClass="com.mycompany.app.App"
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ my-app ---
300.0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.960 s
[INFO] Finished at: 2019-11-06T09:55:23+00:00
[INFO] Final Memory: 9M/116M
[INFO] ------------------------------------------------------------------------
C:\Sachin\data\development\app_code\test-maven\my-app>

Для тестирования Junit вы можете позвонить mvn test, который даст вам статус результатов теста, аналогичный вашей Eclipse IDE

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.mycompany.app.AppTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 sec

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.198 s
[INFO] Finished at: 2019-11-06T09:55:58+00:00
[INFO] Final Memory: 19M/160M
[INFO] ------------------------------------------------------------------------

Я вижу, что те же самые деталиупоминается в ссылке Картикияном Вайтилингамом

Ссылка :

https://www.mojohaus.org/exec-maven-plugin/usage.html


OP Addendum
Вы предоставили решение для:
1. Запуск приложения Java
3. Запуск теста Maven

Из IDE я также могу вызвать:
2. Запуск теста Junit

Правда, это очень похоже на 3. Running the Maven test, но результат выглядит иначе.

enter image description here

Есть ли способ сделать это вне среды IDE?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...