`
liyonghui160com
  • 浏览: 777152 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

maven-assembly-plugin打包

阅读更多

 

1. 修改pom.xml

 

 

<build>
        <resources>
            <!--资源过滤*.properties到target/classes下-->
            <resource>
                <includes>
                    <include>**/*.properties</include>
                    <include>log4j.xml</include>
                </includes>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <!--复制除 *.properties 到target/classes/下,不做资源过滤-->
            <resource>
                <excludes>
                    <exclude>**/*.properties</exclude>
                </excludes>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
            </resource>
            <!--复制除 *.properties 到target/classes/assembly-conf下,不做资源过滤-->
            <resource>
                <excludes>
                    <exclude>**/*.properties</exclude>
                </excludes>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <targetPath>assembly-conf</targetPath>
            </resource>
            <!--资源过滤*.properties,log4j.xml到assembly-conf,最终由assembly插件复制到conf目录下-->
            <resource>
                <includes>
                    <include>**/*.properties</include>
                    <include>log4j.xml</include>
                </includes>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <targetPath>assembly-conf</targetPath>
            </resource>
        </resources>
        <plugins>
            <!--package时打出可执行的tar.gz-->
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptor>src/main/assembly/assembly.xml</descriptor>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

    </build>

 

 

 

2、src/main/assembly/assembly.xml

 

<assembly>
    <id>assembly</id>
    <formats>
        <format>dir</format><!-- 2012-8-23 update -->
        <format>zip</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory> <!--2012-8-23 modify true to false-->
    <fileSets>
        <fileSet>
            <directory>src/main/assembly/bin</directory>
            <outputDirectory>bin</outputDirectory>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <directory>target/classes/assembly-conf</directory>
            <outputDirectory>conf</outputDirectory>
            <fileMode>0644</fileMode>
        </fileSet>
    </fileSets>
    <dependencySets>
        <dependencySet>
            <outputDirectory>lib</outputDirectory>
            <useProjectArtifact>true</useProjectArtifact>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
</assembly>

 

简单解释一下:

    1) format
    format=zip设置打包的最终文件格式为zip.
    支持的其他格式还有gz,tar,tar.gz,tar.bz2。

    2)  fileset
  
    <fileSet>
            <directory>src/main/bin</directory>
            <outputDirectory>/</outputDirectory>
    </fileSet>
 
    将src/main/bin目录下的文件打包到根目录(/)下.

<fileSet>
            <directory>src/main/config</directory>
            <outputDirectory>config</outputDirectory>
</fileSet>

    将src/main/config目录下的文件打包到config下.

    3) dependencySets

    <dependencySet>
            <outputDirectory>lib</outputDirectory>
            <scope>runtime</scope>
    </dependencySet>

    将scope为runtime的依赖包打包到lib目录下。

 

详细的语法不介绍了,请参考官方指南,有非常详尽的说明:Assembly Descriptor Format reference

 

 

其他相关

 

 <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>utf-8</encoding>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.plexus</groupId>
                        <artifactId>plexus-compiler-javac</artifactId>
                        <version>1.8.1</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <encoding>utf-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

 

分享到:
评论

相关推荐

    SpringBoot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip

    总的来说,`maven-assembly-plugin`是Maven构建过程中的一个重要工具,它帮助开发者灵活地定制打包过程,适应不同环境的需求。结合Spring Boot项目,我们可以更高效地管理和部署应用程序,提高开发和运维的效率。

    Maven build插件之Maven-assembly-plugin自定义打包

    Maven-assembly-plugin是maven中针对打包任务而提供的标准插件,可以实现自定义打包。主要提供如下功能: ● 提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。 ● 打包成指定格式分发包,...

    Maven3种打包方式中maven-assembly-plugin的使用详解

    Maven3种打包方式中maven-assembly-plugin的使用详解 Maven 作为一个流行的项目管理工具,提供了多种方式来打包项目。其中,maven-assembly-plugin 是一个非常强大和灵活的插件,支持自定义的打包结构,并且可以...

    maven打包dubbo服务接口(maven-assembly-plugin)

    本篇文章将详细探讨如何使用Maven的`maven-assembly-plugin`插件来打包Dubbo服务接口。 首先,我们要理解Maven的生命周期和构建过程。Maven有多个生命周期阶段,如`clean`、`compile`、`test`、`package`等,每个...

    maven-shade-plugin-3.1.0.jar

    maven打包,指定入口类的jar包,具体的pom配置为:&lt;plugin&gt; &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-shade-plugin &lt;version&gt;3.1.0 &lt;phase&gt;package &lt;goal&gt;shade implementation=...

    maven-assembly 自定义打包方式

    而`maven-assembly-plugin`是Maven的一个插件,用于创建自定义的打包(assembly)格式,比如tar、tar.gz、zip等。这个插件允许开发者在打包过程中包含额外的资源,如配置文件、文档等,使得最终的发布包更完整,便于...

    Maven 生成打包可执行jar包的方法步骤

    接下来,使用maven-assembly-plugin打包项目,主要配置如下: ```xml &lt;plugin&gt; &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-assembly-plugin &lt;version&gt;2.4 &lt;descriptor&gt;src/main/resources/...

    maven plugin打包下载

    在Java开发领域,Maven是一个不可或缺的构建工具,它通过管理项目的依赖关系,简化了构建...对于`maven plugin打包下载`这个主题,理解其工作原理、生命周期和配置方式至关重要,这将直接影响到项目的构建和打包过程。

    maven资料Maven Assembly Plugin

    Maven Assembly Plugin 是一个非常有用的工具,它可以帮助开发者轻松地管理项目的打包过程,并确保最终产品的一致性和完整性。通过合理配置 Assembly 描述符和 FileSets,可以极大地提高项目的自动化程度,减少手动...

    Spring Boot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip.zip

    maven安装与配置 确保已安装JDK。Maven 3.9+版本需要JDK 8或更高版本。可以通过输入java -version来检查JDK是否安装以及其版本。 下载Maven。访问Maven官网下载最新版本,例如3.9.1。对于Windows用户,通常下载...

    xmljava系统源码-spring-boot-assembly:SpringBoot项目使用maven-assembly-plugin根据不

    maven-assembly-plugin maven-jar-plugin spring-boot-maven-plugin maven-dependency-plugin maven-resources-plugin CHANGELOG 1.maven-assembly-plugin 配置assembly.xml文件路径 &lt;plugin&gt; &lt;artifactId&gt;maven-...

    maven打包使用yui压缩css和js文件

    在Maven中实现这个功能,我们需要借助maven-assembly-plugin或者maven-war-plugin,但更常见的是使用maven-resources-plugin和maven-compiler-plugin配合yuicompressor-maven-plugin。以下是一个详细的步骤说明: 1...

    揭秘 Maven 的打包神器:深入解析 maven-assembly-plugin 的工作机制

    4. **插件和目标**:Maven 拥有丰富的插件生态系统,每个插件可以执行特定的任务,如编译源代码、运行测试、打包等。 5. **继承和聚合**:Maven 支持项目继承和多模块项目聚合,方便大型项目的管理和构建。 6. **跨...

    demo-maven-pkg.zip

    总结来说,这个"demo-maven-pkg.zip"是使用Maven的插件功能,可能结合`maven-assembly-plugin`或`maven-resources-plugin`,将一个Maven项目及其相关资源和依赖打包成ZIP格式的文件,便于分发和部署。具体的内容和...

    apache-maven-3.3.9.zip

    例如,`maven-surefire-plugin` 用于运行单元测试,`maven-javadoc-plugin` 可生成API文档,而`maven-assembly-plugin` 或`maven-resources-plugin` 则帮助创建可分发的工件。 Apache Maven 3.3.9 版本相对于之前的...

    springboot+maven打包demo【将依赖与配置文件打包到jar包外部】

    1. **依赖打包到外部**:使用`maven-assembly-plugin`或`maven-shade-plugin`,我们可以将依赖打包到一个单独的lib目录下。比如,通过`maven-assembly-plugin`的`dependencySet`配置,我们可以指定哪些依赖应该被...

    Maven将带有第三方依赖的可执行程序打包示例

    maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing.BeanDefinitionParsingException 异常怎么办? maven-shade-plugin 插件打第三方依赖包,spring 有 java....

    apache-maven-3.1.0-bin.tar

    例如,`maven-assembly-plugin`可以用来创建自定义的打包格式,`maven-javadoc-plugin`则用于生成项目文档。 至于"Readme-说明.htm"文件,通常包含有关如何安装、配置和使用Maven的详细信息。用户应仔细阅读该文件...

    Apache-Maven-3.6.3.rar

    例如,maven-surefire-plugin用于执行单元测试,maven-javadoc-plugin生成API文档,maven-assembly-plugin则能打包成可分发的格式,如ZIP或JAR。 5. **聚合与继承**:Maven支持项目聚合,一个父POM可以包含多个子...

    framework-maven-plugin:框架-maven-插件

    “框架-Maven-插件”通常会包含一些针对特定框架的构建、打包、部署等目标,例如Spring Boot的spring-boot-maven-plugin,它可以方便地对Spring Boot应用进行打包和运行。这类插件使得开发者无需深入理解框架内部的...

Global site tag (gtag.js) - Google Analytics