maven编译后复制到目标位置

maven对项目进行打包之后,可以将打包好的jar和某些资源文件复制到指定位置,例如你的项目结构是services父项目下有个子项目,service-1,它在打包之后,希望把jar和templates文件夹复制到父项目services的target目录,这就可以使用maven的两个插件来完成。

maven-dependency-plugin

编译之后,将当前项目的jar复制到某个目录下

 <plugin>
    <artifactId>maven-dependency-plugin</artifactId>
     <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>copy</goal>
                </goals>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>${project.artifactId}</artifactId>
                            <version>${project.version}</version>
                        </artifactItem>
                    </artifactItems>
                    <outputDirectory>../target</outputDirectory>
                    <stripClassifier>true</stripClassifier>
                    <stripVersion>true</stripVersion>
                </configuration>
            </execution>
     </executions>
</plugin>

maven-resources-plugin

将资源目录resources下的某些文件,复制到上一级目录的templates下

<plugin>
 <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>../target/templates</outputDirectory>
                <resources>
                    <resource>
                        <directory>${basedir}/templates</directory>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

这两个插件在多级项目中,使用的很多,比如,你的多层项目都是一个SPI,这些SPI放在一起打一下镜像,对外提供服务,你就可以使用这两个插件来将它们的jar输出到父目录下。

posted @ 2021-11-02 11:29  张占岭  阅读(876)  评论(0编辑  收藏  举报