Có thể sử dụng lệnh Spring Boots Maven plugin spring-boot:run
khi POM mẹ của dự án đang sử dụng chế độ đóng gói POM vì con của nó?Khởi động mùa xuân với bao bì POM Agregator
Tôi có dự án mô-đun đa mô-đun với POM "chính" có trong đó là phiên bản con của mô-đun Spring Boot Parent. Có vẻ như thế này:
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>project</artifactId>
<packaging>pom</packaging>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.0.BUILD-SNAPSHOT</version>
<relativePath/>
</parent>
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<start-class>com.example.module1.Application</start-class>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Đây chính là POM "chính" của chúng tôi mà mọi trẻ em sử dụng làm cha mẹ. Bây giờ chúng ta muốn thực hiện lệnh spring-boot:run
từ thư mục làm việc POM "chủ" này đang ở. Vấn đề là, điều này tạo ra một ClassNotFoundException
là lẻ kể từ module1 (trong đó có Application
lớp nằm) được bao gồm trong POM và được nhắc đến như một mô-đun .
Sử dụng một dự án mô-đun maven duy nhất và <packaging>jar</packaging>
biên dịch này và chạy lớp Ứng dụng để khởi động không hoạt động ngay tại đây.
Tôi phải thay đổi điều gì để làm việc này hoặc đơn giản là không thể sử dụng plugin spring-boot-maven-plugin
khi giao dịch với các dự án Maven nhiều mô-đun?
Sidenote: Lớp ứng dụng của tôi/Module 1 có các mô-đun khác làm phụ thuộc để ghi nhớ câu hỏi này. Bất kỳ đề xuất về cách cải thiện điều này đều rất được đánh giá cao.
Tôi đã cố gắng thực hiện như bạn gợi ý. Di chuyển các plugin vào module1 pom nhưng điều đó không làm việc cho tôi. Đây là những gì tôi nhận được: '[ERROR] Không thể thực hiện mục tiêu trên ứng dụng dự án: Không thể giải quyết các phụ thuộc cho dự án com.example: module1: jar: 0.1.0: Không tìm thấy com.example: module2: jar: 0.1 .0 trong http://repo.spray.io được lưu trữ trong kho lưu trữ cục bộ, độ phân giải sẽ không được lặp lại cho đến khi khoảng thời gian cập nhật của repo phun đã trôi qua hoặc cập nhật bị buộc -> [Help 1] ' – Martijn
@MartijnRiemers xem chỉnh sửa câu trả lời – thomas77