Có một "giai đoạn" hoặc "mục tiêu" của Maven chỉ đơn giản là thực thi phương thức chính của một lớp Java không? Tôi có một dự án mà tôi muốn thử nghiệm bằng tay bằng cách đơn giản làm một cái gì đó như "mvn run".Dự án Maven Run
Trả lời
Xem exec maven plugin. 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"] ...
Gọi có thể đơn giản là mvn exec:java
nếu cấu hình plugin nằm trong tệp pom.xml của bạn. Trang web plugin trên Mojohaus có more detailed example.
<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>
Cho Exec Maven plugin một thử
clean package exec:java -P Class_Containing_Main_Method
lệnh cũng là một lựa chọn nếu bạn chỉ có một phương thức Main (PSVM) trong dự án, với Setup Maven sau.
Đừng quên đề cập đến lớp trong phần <properties></properties>
của 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 Cấu hình cùng với trên Maven Setup:
Các nêu trên câu trả lời là chính xác nhưng tôi đơn giản hóa nó cho noobs như tôi.Đi đến tệp pom của dự án của bạn. Thêm thuộc tính mới exec.mainClass
và đặt giá trị của nó làm lớp chứa phương thức chính của bạn. Đối với tôi, nó là DriverClass
trong mainpkg
. Thay đổi nó theo dự án của bạn.
Sau khi thực hiện điều hướng này đến thư mục chứa dự án của bạn pom.xml
và chạy điều này 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 tệp 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 maven exec plugin để biết thêm sử dụng.
Truyền thêm đối số qua '-Dexec.args =" ... arg ... "' – sstn
exec: java không làm gì cho tôi, nhưng exec: exec đã thực hiện thủ thuật. –
đây là câu trả lời trông như thế nào! tham khảo + ví dụ đơn giản + ví dụ phức tạp. ví dụ đơn giản đã làm các trick cho tôi (không cần cấu hình thêm) – codewing
có phiên bản mới hơn của plugin này (mới hơn 1.2.1 không?) –