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
- 1. Tạo dự án maven
- 2. ClassNotFoundException trong dự án Maven
- 3. Thêm dự án JAR vào dự án Maven trong NetBeans
- 4. Chuyển đổi dự án hiện tại thành dự án maven
- 5. 'SBT run` từ bên ngoài thư mục dự án
- 6. getClass() getResourceAsStream() trong dự án maven
- 7. Dự án Maven/AJDT trong Eclipse
- 8. dự án maven yêu cầu sun.javadoc jar
- 9. C# Quản lý dự án với Maven
- 10. Tạo cây mô-đun dự án maven?
- 11. Sử dụng Maven cho dự án R
- 12. maven m2eclipse đa dự án mô-đun
- 13. Maven cho các dự án web tĩnh
- 14. Làm thế nào bỏ cấm một dự án trên Maven
- 15. Maven - Làm thế nào để xây dựng nhiều dự án độc lập Maven từ một dự án
- 16. Dự án Javafx không biên dịch với maven
- 17. Đầu ra dự án Maven sao chép vào các tài nguyên dự án khác
- 18. Sao chép tệp từ một dự án này sang một dự án khác trong maven
- 19. Cách chuyển đổi dự án java sang dự án Maven hoặc tương tự
- 20. Tài liệu dự án nên được lưu trữ trong dự án maven điển hình
- 21. Chuyển đổi dự án Maven để động dự án Web cho Eclipse
- 22. Thiết kế dự án Maven - chia sẻ một dự án chung
- 23. Dự án maven có thể có nhiều cha mẹ?
- 24. Tạo một POM Maven từ một dự án hiện có?
- 25. Triển khai dự án Maven với Spring + Hibernate đến Tomcat
- 26. Chạy dự án Maven trên Tomcat từ Eclipse
- 27. SoapUI Maven plugin- thực hiện nhiều dự án
- 28. Findbugs Maven plugin - findbugs-exclude với nhiều dự án
- 29. Thêm lớp java đã biên dịch vào dự án maven
- 30. bố trí Repository cho Maven lớn các dự án
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?) –