Maven 在多模块项目中构建可部署jar
我的项目结构如下:Maven 在多模块项目中构建可部署jar,maven,spring-boot,Maven,Spring Boot,我的项目结构如下: parent/ server/ - Spring Boot Application pom.xml client-1/ - Angular Web Application pom.xml client-2/ - Angular Web Application pom.xml pom.xml 我能够构建这个应用程序,其中Spring Boot应用程序是一个jar,它在static/文件夹中包含两个Angular客户端 但是,目
parent/
server/ - Spring Boot Application
pom.xml
client-1/ - Angular Web Application
pom.xml
client-2/ - Angular Web Application
pom.xml
pom.xml
我能够构建这个应用程序,其中Spring Boot应用程序是一个jar
,它在static/
文件夹中包含两个Angular客户端
但是,目前Spring Boot应用程序的pom.xml
必须了解客户机,我想将其转移到父级
但我在这里缺乏一些专业技能
这就是应该发生的事情:
static/
maven resources插件
复制客户端内容,但我注意到有一个问题-如果客户端尚未构建,那么它将不会复制任何内容到最终的jar
,这意味着web客户端缺少部署
现在,这是父对象的pom.xml
:
4.0.0
mz
mz父代
1.0-快照
聚甲醛
mz服务器
mz管理员
mz网
我怎样才能做到这一点
下面是我目前如何使用
maven资源插件构建jar
。但是如上所述,在这种情况下,服务器项目必须了解客户机,这也不能保证客户机首先得到构建
maven资源插件
复制资源
验证
复制资源
${build.directory}/classes/static/
../mz管理员/区
复制网页
验证
复制资源
${build.directory}/classes/static/
../mz web/dist
将您的client-1
和client-2
添加为您的服务器
项目的依赖项。这将确保在服务器和文件可用之前构建客户端。我这样做了,但是服务器总是首先构建。jar
文件被创建,并且只有在创建之后,其他客户端才能被构建。maven依赖项不是这样工作的。Maven总是在依赖项之后构建依赖项。至少,就我和maven的合作而言,你是对的,那是我的错误。依赖项以正确的顺序生成。