มีเฟส "Maven" หรือ "เป้าหมาย" ในการดำเนินการวิธีการหลักของคลาส Java หรือไม่? ฉันมีโครงการที่ฉันต้องการทดสอบด้วยตนเองโดยทำสิ่งต่างๆเช่น "mvn run"
มีเฟส "Maven" หรือ "เป้าหมาย" ในการดำเนินการวิธีการหลักของคลาส Java หรือไม่? ฉันมีโครงการที่ฉันต้องการทดสอบด้วยตนเองโดยทำสิ่งต่างๆเช่น "mvn run"
คำตอบ:
ดู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>
pom.xml
เพิ่มคุณสมบัติต่อไปนี้ใน ตรวจสอบให้แน่ใจว่าคุณใช้ชื่อคลาสที่ผ่านการรับรองโดยสมบูรณ์ (เช่นกับชื่อแพ็กเกจ) ซึ่งมีmain
เมธอด:
<properties>
<exec.mainClass>fully-qualified-class-name</exec.mainClass>
</properties>
ตอนนี้จากเทอร์มินัลทริกเกอร์คำสั่งต่อไปนี้:
mvn clean compile exec:java
หมายเหตุคุณสามารถส่งผ่านข้อโต้แย้งเพิ่มเติมผ่านการ-Dexec.args="xxx"
ตั้งค่าสถานะ
คำตอบดังกล่าวข้างต้นนั้นถูกต้อง แต่ฉันทำให้มันง่ายขึ้นสำหรับ noobs อย่างฉันไปที่ไฟล์ 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..."
ให้Exec Maven ปลั๊กอินลอง
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 Run Configuration พร้อมกับการตั้งค่า Maven ด้านบน:
-P
สำหรับโปรไฟล์ แชร์สิ่งนี้เนื่องจากเป็นตัวเลือกในการเรียกใช้โครงการ Maven