سؤال
هل هناك "مرحلة" أو "مرحلة" أو "هدف" ببساطة تنفيذ الطريقة الرئيسية لفئة Java؟ لدي مشروع أرغب في الاختبار يدويا بهما فعل شيء مثل "MVN Run".
المحلول
انظر exec maven plugin.. وبعد يمكنك تشغيل فئات 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>
نصائح أخرى
الإجابات المذكورة أعلاه صحيحة ولكني أبسط ذلك من أجل NOOBS مثل ME.Go إلى ملف POM الخاص بك. إضافة خاصية جديدة exec.mainClass
وإعطاء قيمتها كطبقة تحتوي على طريقة رئيسية. بالنسبة لي كان DriverClass
في mainpkg
. وبعد تغييره حسب مشروعك.
بعد القيام بهذا التنقل إلى المجلد الذي يحتوي على مشروعك pom.xml
وتشغيل هذا على موجه الأوامر mvn exec:java
. وبعد هذا يجب أن يسمي الطريقة الرئيسية.
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"
علم.
إعطاء exec maven plugin. جرب
لا حاجة لإضافة مكون إضافي جديد في Pom.xml. فقط قم بتشغيل هذا الأمر
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
انظر مافن exec البرنامج المساعد لمزيد من الاستخدام.
clean package exec:java -P Class_Containing_Main_Method
أمر هو أيضا خيار إذا كان لديك طريقة رئيسية واحدة فقط (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: