Có "pha" hay "mục tiêu" Maven để thực hiện đơn giản phương thức chính của lớp Java không? Tôi có một dự án mà tôi muốn kiểm tra bằng tay chỉ bằng cách thực hiện một cái gì đó như "mvn run".
Có "pha" hay "mục tiêu" Maven để thực hiện đơn giản phương thức chính của lớp Java không? Tôi có một dự án mà tôi muốn kiểm tra bằng tay chỉ bằng cách thực hiện một cái gì đó như "mvn run".
Câu trả lời:
Xem plugin exec maven . Bạn có thể chạy các lớp Java bằng cách sử dụng:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
Việc gọi có thể đơn giản như mvn exec:javathể cấu hình plugin nằm trong tệp pom.xml của bạn. Trang web plugin trên Mojohaus có một ví dụ chi tiết hơn .
<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>
Thêm thuộc tính sau vào pom.xml. Hãy chắc chắn rằng bạn sử dụng tên lớp đủ điều kiện (nghĩa là với tên gói) có chứa mainphương thức:
<properties>
<exec.mainClass>fully-qualified-class-name</exec.mainClass>
</properties>
Bây giờ từ thiết bị đầu cuối, kích hoạt lệnh sau:
mvn clean compile exec:java
LƯU Ý Bạn có thể truyền thêm đối số qua -Dexec.args="xxx"cờ.
Các câu trả lời được đề cập ở trên là chính xác nhưng tôi đang đơn giản hóa nó cho các noobs như tôi. Đi đến tệp pom của dự án của bạn. Thêm một thuộc tính mới exec.mainClassvà đưa ra giá trị của nó là lớp chứa phương thức chính của bạn. Đối với tôi nó là DriverClasstrong mainpkg. Thay đổi nó theo dự án của bạn.

Đã thực hiện điều này đến thư mục chứa dự án của bạn pom.xml và chạy nó trên dấu nhắc lệnh mvn exec:java. Điều này nên gọi phương thức chính.
Không cần thêm plugin mới trong pom.xml. Chỉ cần chạy lệnh này
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
Xem plugin maven exec để sử dụng nhiều hơn.
-Dexec.args="...arg..."
Hãy dùng thử Exec Maven
clean package exec:java -P Class_Containing_Main_Method lệnh cũng là một tùy chọn nếu bạn chỉ có một phương thức Chính (PSVM) trong dự án, với Cài đặt Maven sau.
Đừng quên đề cập đến lớp học trong <properties></properties>phần 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>
Cấu hình chạy STS cùng với Cài đặt Maven ở trên:
-Plà cho hồ sơ. Đã chia sẻ điều này, vì nó cũng là một tùy chọn chạy dự án Maven.