maven 打包

   <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>启动类</mainClass>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                        <manifestEntries>
                            <Class-Path>./</Class-Path>
                        </manifestEntries>
                    </archive>
                    <excludes>
                        <exclude>config/**</exclude>
                        <exclude>lib/**</exclude>
                        <exclude>*.yml</exclude>
                        <exclude>*.xml</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                   
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptors>
                        <descriptor>src/main/resources/build/package.xml</descriptor> 额外的配置
                    </descriptors>

                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase> <!--在打包的时候执行-->
                        <goals>
                            <goal>single</goal>  <!--执行一次-->
                        </goals>
                    </execution>
                </executions>
            </plugin>
package.xml 打包描述文件
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
    <id>bin</id>
    <!-- 最终打包成一个用于发布的zip文件 -->
    <formats>
        <format>zip</format>
    </formats>
  <!-- 把项目中的依赖打包到lib文件夹下 -->
    <dependencySets>
        <dependencySet>
            <!--
               不使用项目的artifact,第三方jar不要解压,打包进zip文件的lib目录
           -->
            <useProjectArtifact>false</useProjectArtifact>
            <outputDirectory>lib</outputDirectory>
            <unpack>false</unpack>
        </dependencySet>
    </dependencySets>

    <fileSets>
        <!-- 把项目相关的说明文件,打包进zip文件的根目录 -->
        <fileSet> <!--${porject.basedir 项目根目录}-->
            <directory>${project.basedir}</directory>
            <outputDirectory>/</outputDirectory>
            <includes>
                <include>README*</include>
                <include>LICENSE*</include>
                <include>NOTICE*</include>
            </includes>
        </fileSet>

        <!-- 把项目的配置文件,打包进zip文件的config目录 -->
        <fileSet>
            <directory>${project.basedir}/src/main/resources</directory>
            <outputDirectory>con</outputDirectory>
            <includes> <!--包含哪些文件-->
                <include>logback-spring.xml</include>
                <include>config/*.properties</include>
                <include>*.yml</include>
            </includes>
            <excludes> <!--不包含哪些文件-->
                <exclude>application*.yml</exclude>
            </excludes>
        </fileSet>

        <!-- 把项目的脚本文件目录( src/main/scripts )中的启动脚本文件,打包进zip文件的跟目录 -->
        <fileSet>
            <directory>${project.basedir}/src/main/resources/build/script</directory>
            <outputDirectory>bat</outputDirectory>
            <includes>
                <include>*.bat</include>
            </includes>
        </fileSet>

        <!-- 把项目自己编译出来的jar文件,打包进zip文件的根目录 -->
        <fileSet> <!--${project.build.ditectoty} 相当于target文件-->
            <directory>${project.build.directory}</directory>
            <outputDirectory></outputDirectory>
            <includes>
                <include>*.jar</include>
            </includes>
        </fileSet>
    </fileSets>

    <!-- 将项目的主配置重命名 -->
    <files>
        <file>
            <source>${project.basedir}/src/main/resources/application-${env}.yml</source>
            <outputDirectory>/</outputDirectory>
            <destName>application.yml</destName>
        </file>
    </files>
</assembly>

 



posted @ 2019-08-19 11:47  霍宇飞  阅读(208)  评论(0编辑  收藏  举报