需要完成的任务 包括:
1 java项目默认的clean install
2 npm run install && npm run build生成前端distribution文件
3 额外清理resource/static目录下的文件, 该目录用于存放前端生成的文件
4 拷贝前端文件到resource/static目录
下面是完成以上任务的pom.xml文件
(做了一个修正, 第三步清理static目录下的文件以后,需要重新拷贝内容到target文件夹下,否则最后的jar包会不包含static文件夹里面的内容)
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<!-- <execution>
<id>exec-npm-install</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${npm}</executable>
<arguments>
<argument>install</argument>
</arguments>
<workingDirectory>${uidir}</workingDirectory>
</configuration>
</execution> --><execution>
<id>exec-npm-run-build</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${npm}</executable>
<arguments>
<argument>run</argument>
<argument>build</argument>
</arguments>
<workingDirectory>${uidir}</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>${staticdir}/</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-assets</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${staticdir}/</outputDirectory>
<resources>
<resource>
<directory>${uidir}/dist</directory>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-statics</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${targetdir}/</outputDirectory>
<resources>
<resource>
<directory>${staticdir}</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>