當項目的父POM由於其子項使用打包模式POM時,是否可以使用Spring Boots Maven插件命令spring-boot:run
?彈性引導與POM包裝Agregator
我有一個「master」POM的多模塊maven項目,它是Spring Boot Parent模塊的一個小孩。看起來像這樣:
<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>
這基本上是我們的「主人」 POM每個兒童使用,因爲它的父。現在,我們希望從工作目錄這個「主」 POM是在執行spring-boot:run
命令。問題是,這會產生一個ClassNotFoundException
因爲模塊1(其中,該Application
類位於)被包括在POM和作爲模塊提及的是奇數。
使用單個模塊maven項目和<packaging>jar</packaging>
這編譯和運行應用程序類,因此它不是Spring-Boot在這裏不工作。
要處理多模塊Maven項目時,需要更改哪些內容才能使用spring-boot-maven-plugin
插件?
旁註:我的應用程序級/模塊1具有其他模塊回答這個問題時,依賴關係,以便記住這一點。關於如何提高這任何建議都非常讚賞。
我試着按照你的建議去做。將插件移動到module1 pom,但這對我不起作用。這就是我得到: '[錯誤]未能就項目申請執行的目標:無法解析項目com。示例的依賴關係:模塊1:罐子:0.1.0:未能找到com。示例:模塊2:罐子:0.1 2.0中http://repo.spray.io在本地倉庫被緩存,分辨率將不會被重新嘗試,直到噴霧式回購的更新間隔已過或更新強制 - > [求助1]' – Martijn 2014-12-04 16:29:10
@MartijnRiemers看到編輯回答 – thomas77 2014-12-05 10:15:37