博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Maven的assembly插件实现自定义打包
阅读量:6437 次
发布时间:2019-06-23

本文共 3932 字,大约阅读时间需要 13 分钟。

hot3.png

pom.xml增加以下内容:assembly

 

  <profiles>

        <profile>

            <id>dev</id>

            <properties>

                <env>dev</env>

            </properties>

            <activation>

            <!--     默认启用的环境配置 -->

                <activeByDefault>true</activeByDefault>

            </activation>

        </profile>

        <profile>

            <id>test</id>

            <properties>

                <env>test</env>

            </properties>

        </profile>

        <profile>

            <id>oa</id>

            <properties>

                <env>oa</env>

            </properties>

        </profile>

        <profile>

            <id>pre</id>

            <properties>

                <env>pre</env>

            </properties>

        </profile>

        <profile>

            <id>gray</id>

            <properties>

                <env>gray</env>

            </properties>

        </profile>

        <profile>

            <id>prod</id>

            <properties>

                <env>prod</env>

            </properties>

        </profile>

    </profiles> 

<build>

<!-- 主资源目录 -->

         <resources>

            <resource>

              <!--   设定主资源目录 -->

                <directory>src/main/resources</directory>

            </resource>

        </resources>

        <finalName>${project.artifactId}-${env}-${project.version}</finalName> 

<plugins>

 

  <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-jar-plugin</artifactId>

                <version>2.4</version>

                <configuration>

                    <excludes>

                        <exclude>**/*.properties</exclude>

                        <exclude>**/*.xml</exclude>

                    </excludes>

                </configuration>

            </plugin>

            

                <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>3.1</version>

                <configuration>

                    <showDeprecation>true</showDeprecation>

                    <showWarnings>true</showWarnings>

                    <source>1.8</source>

                    <target>1.8</target>

                    <testSource>1.8</testSource>

                    <testTarget>1.8</testTarget>

                </configuration>

            </plugin>

            

              <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-surefire-plugin</artifactId>

                <version>2.18.1</version>

                <configuration>

                    <skipTests>true</skipTests>

                </configuration>

            </plugin>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

<plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-assembly-plugin</artifactId>

                <version>3.0.0</version>

                <configuration>

                   <!--  not append assembly id in release file name -->

                    <appendAssemblyId>false</appendAssemblyId>

                    <descriptors>

                        <descriptor>assembly/assembly.xml</descriptor>

                    </descriptors>

                </configuration>

 

                <executions>

                    <execution>

                        <id>make-assembly</id>

                        <phase>package</phase>

                        <goals>

                            <goal>single</goal>

                        </goals>

                    </execution>

                </executions>

            </plugin> 

 

 

</plugins>

</build>

 

 

 

 

在主文件夹下新建文件assembly,并增加以下文件assembly.xml:

内容:

<!-- - Copyright 1999-2011 Alibaba Group. - - Licensed under the Apache License,

Version 2.0 (the "License"); - you may not use this file except in compliance

with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0

- - Unless required by applicable law or agreed to in writing, software -

distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT

WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the

License for the specific language governing permissions and - limitations

under the License. -->

<assembly>

    <id>assembly</id>

    <formats>

        <format>tar.gz</format>

    </formats>

    <includeBaseDirectory>true</includeBaseDirectory>

    <fileSets>

 

        <fileSet>

            <directory>assembly/${env}/bin</directory>

            <outputDirectory>bin</outputDirectory>

            <fileMode>0755</fileMode>

        </fileSet>

        <fileSet>

            <directory>assembly/${env}/conf</directory>

            <outputDirectory>conf</outputDirectory>

            <fileMode>0644</fileMode>

        </fileSet>

        <fileSet>

            <directory>src/main/resources</directory>

            <outputDirectory>conf</outputDirectory>

            <fileMode>0644</fileMode>

            <excludes>

                <!-- 业务相关-->

                <exclude>testFiles/**/*</exclude>

                <!-- 系统相关-->

                <exclude>application.properties</exclude>

                <exclude>application-dev1.properties</exclude>

                <exclude>application-prod.properties</exclude>

                <exclude>application-test.properties</exclude>

                <exclude>application-dev.properties</exclude>

            </excludes>

        </fileSet>

    </fileSets>

    <dependencySets>

        <dependencySet>

            <outputDirectory>lib</outputDirectory>

            <!-- 去除框架相关jar包 -->

           <!--  <excludes>

                <exclude>com.alibaba:dubbo</exclude>

            </excludes> -->

        </dependencySet>

    </dependencySets>

</assembly>

 

转载于:https://my.oschina.net/u/2548090/blog/2253932

你可能感兴趣的文章
Fragment结合nineold包实现滑动tab页
查看>>
Python 第十一章 常用第三方模块
查看>>
Web开发中的用户角色权限设计总结
查看>>
Java实现replaceAll 把 \ 替换成 /
查看>>
Unknown media type in type ‘all/all’ 的解决办法
查看>>
JNDI实现连接池
查看>>
我的友情链接
查看>>
Linux文件和目录属性
查看>>
图片轮播
查看>>
Mycat对于导入和扩容迁移性能压测
查看>>
08 redis数据类型:hash
查看>>
lduan HyPer-V 虚拟机服务监控及更新(十一)
查看>>
企业要顺应社会生态环境
查看>>
Oracle --登录
查看>>
一段话系列-领域模型是什么?
查看>>
安卓--L2T虚拟连接
查看>>
Confluence 6 归档一个空间
查看>>
数据循环缓冲区算法
查看>>
XMNetworking 网络库的设计与使用
查看>>
张首晟:量子计算、人工智能与区块链
查看>>