当项目的父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