我有这样的项目结构:
parent/
server/ - Spring Boot Application
pom.xml
client-1/ - Angular Web Application
pom.xml
client-2/ - Angular Web Application
pom.xml
pom.xml
我可以在Spring引导应用程序是
jar
其中包含两个角度客户端
static/
文件夹。
但是,目前Spring引导应用程序的
pom.xml
必须知道客户的情况,我想把这个转移到家长那里。
不过,我在这里缺乏一些独行侠的技能。
这就是应该发生的事情:
-
生成Web客户端
-
构建Spring引导应用程序
-
将Web客户端复制到
静态/
我目前正在使用
maven-resources-plugin
要复制客户端内容,但我注意到存在一个问题-如果客户端尚未生成,那么它将不会将任何内容复制到最终版本中。
罐子
这意味着Web客户端在部署时丢失。
现在,这是
XML
父母的:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mz</groupId>
<artifactId>mz-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>mz-server</module>
<module>mz-admin</module>
<module>mz-web</module>
</modules>
</project>
我怎样才能做到这一点?
以下是我目前正在构建的
罐子
使用
Maven资源插件
. 但是如前所述,在这种情况下,服务器项目必须了解客户机,而且这也不能保证客户机首先得到构建。
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>${build.directory}/classes/static/</outputDirectory >
<resources>
<resource>
<directory>../mz-admin/dist</directory>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-web</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>${build.directory}/classes/static/</outputDirectory >
<resources>
<resource>
<directory>../mz-web/dist</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>