Есть ли у Maven «фаза» или «цель» просто выполнить основной метод класса Java? У меня есть проект, который я хотел бы протестировать вручную, просто выполнив что-то вроде «mvn run».
Проект Maven Run
Ответы (6)
См. плагин exec maven. Вы можете запускать классы Java, используя:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
Вызов может быть таким же простым, как mvn exec:java
, если конфигурация плагина находится в вашем pom.xml. На сайте плагина Mojohaus есть более подробная информация пример.
<project>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>com.example.Main</mainClass>
<arguments>
<argument>argument1</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</project>
1. Отредактируйте POM.xml.
Добавьте следующее свойство в pom.xml
. Убедитесь, что вы используете полное имя класса (т.е. с именем пакета), который содержит метод main
:
<properties>
<exec.mainClass>fully-qualified-class-name</exec.mainClass>
</properties>
2. Выполнить команду
Теперь из терминала запустите следующую команду:
mvn clean compile exec:java
ПРИМЕЧАНИЕ. Вы можете передавать дополнительные аргументы с помощью флага -Dexec.args="xxx"
.
Вышеупомянутые ответы верны, но я упрощаю их для таких новичков, как я. Перейдите в файл pom вашего проекта. Добавьте новое свойство exec.mainClass
и укажите его значение как класс, содержащий ваш основной метод. Для меня это было DriverClass
в mainpkg
. Измените его в соответствии с вашим проектом.
Сделав это, перейдите в папку, содержащую pom.xml
вашего проекта, и запустите ее в командной строке mvn exec:java
. Это должно вызвать основной метод.
Не нужно добавлять новый плагин в pom.xml. Просто запустите эту команду
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
Дополнительные сведения см. В плагине maven exec.
-Dexec.args="...arg..."
- person sstn; 28.02.2018
clean package exec:java -P Class_Containing_Main_Method
также можно использовать, если в проекте используется только один метод Main (PSVM) со следующей установкой Maven.
Не забудьте упомянуть класс в <properties></properties>
разделе pom.xml
:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.main.class>com.test.service.MainTester</java.main.class>
</properties>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>${java.main.class}</mainClass>
</configuration>
</plugin>
STS Выполните конфигурацию вместе с вышеуказанной установкой Maven:
-P
для профиля. Разделили это, так как это также вариант запуска проекта Maven.
- person Abhijeet; 24.11.2015