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

Maven assembly plugin for dependency zip

 
阅读更多

 

最近需要将项目进行打包,本来使用默认的maven-dependency-plugin 就足够了,但是现在需要一些自定义的处理,需要将依赖的包打入lib目录,同时将main class jar与lib文件夹一起压缩成zip包。

这时候maven-dependency-plugin就不管用了,需要上maven-assembly-plugin了。

 

目标文件目录

+helloworld.zip

helloworld.jar

+lib/

dependency1.jar

dependency1.jar

POM配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<plugin>
               <artifactId>maven-jar-plugin</artifactId>
               <configuration>
                   <archive>
                       <manifest>
                           <addClasspath>true</addClasspath>
                           <classpathPrefix>lib/</classpathPrefix>
                           <mainClass>xxx.MainJob</mainClass>
                       </manifest>
                   </archive>
                   <finalName>${project.artifactId}-${env}-${project.version}</finalName>
               </configuration>
           </plugin>
 
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-assembly-plugin</artifactId>
               <configuration>
                   <descriptors>
                       <descriptor>assembly.xml</descriptor>
                   </descriptors>
               </configuration>
               <executions>
                   <execution>
                       <id>make-assembly</id>
                       <phase>package</phase>
                       <goals>
                           <goal>single</goal>
                       </goals>
                   </execution>
               </executions>
           </plugin>

Assembly.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id></id>
    <formats>
        <!--<format>tar.gz</format>-->
        <!--<format>tar.bz2</format>-->
        <format>zip</format>
    </formats>
    <fileSets>
        <fileSet>
            <directory>${project.basedir}</directory>
            <outputDirectory>/</outputDirectory>
            <includes>
                <include>README*</include>
                <include>LICENSE*</include>
                <include>NOTICE*</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${project.build.directory}/site</directory>
            <outputDirectory>docs</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>${project.build.directory}/</directory>
            <outputDirectory>/</outputDirectory>
            <includes>
                <include>*.jar</include>
            </includes>
        </fileSet>
    </fileSets>
    <dependencySets>
        <dependencySet>
            <outputDirectory>/lib</outputDirectory>
            <useProjectArtifact>false</useProjectArtifact>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
</assembly>

执行命令

1
mvn package

 

   
分享到:
评论

相关推荐

    assembly plugin打包

    Assembly Plugin是Maven的一个插件,用于创建自定义的归档文件,如JAR、WAR或ZIP格式,包含项目的所有依赖、资源和配置文件。 在博文链接(已提供但无法直接访问)中,作者可能详细讲解了如何配置和使用Maven ...

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

    xml java系统源码 spring-boot-assembly ...maven-dependency-plugin maven-resources-plugin CHANGELOG 1.maven-assembly-plugin 配置assembly.xml文件路径 &lt;plugin&gt; &lt;artifactId&gt;maven-assembly-plugin &lt;version&gt;3.1

    maven-assembly 自定义打包方式

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

    Maven常用插件整理.docx

    1. Maven Assembly Plugin Maven Assembly 插件允许开发者将项目的输出,包括依赖、模块、网站文档和其他文档集成到一个单一的文档中,以便于定制打包。这个插件支持多种输出格式,如zip、tar、tar.gz、gar.bz2、jar...

    maven安装与配置.zip

    此外,Maven允许通过插件扩展其功能,如`maven-assembly-plugin`用于生成可分发的包。 ### 四、Maven的高级特性 1. **聚合与继承**:多个项目可以通过`&lt;modules&gt;`在POM中聚合,便于一起构建和管理。而父POM可以...

    maven pdf

    4. **Maven Assembly Plugin** 或 **Maven Archiver**: 这两个插件常用于创建包含项目所有依赖的归档文件,例如 ZIP 或 TAR。虽然它们不直接生成 PDF,但可以用于打包生成的 PDF 文件,以便于分发。 ```xml ...

    打jar包注意点.docx

    总结来说,通过在`pom.xml`中正确配置`maven-jar-plugin`和`maven-assembly-plugin`,并配合`assembly.xml`文件,可以确保批处理项目被打包成一个可执行的JAR文件,其中包含了所有必要的依赖,并且能够明确指定主类...

    maven-3.2.3-src.zip

    2. **依赖管理(Dependency Management)**:Maven通过POM自动管理项目依赖,解决jar库冲突,使得构建过程自动化。 3. **生命周期(Lifecycle)**:Maven有预定义的一系列构建阶段,如编译、测试、打包、部署等,...

    maven下载、安装、配置与使用教程.zip

    5. 插件使用:Maven 支持丰富的插件,如 `maven-surefire-plugin` 进行单元测试,`maven-assembly-plugin` 打包成可执行 jar 等。 6. 部署项目:通过 `mvn deploy` 命令,将项目发布到远程仓库。 7. 多模块项目:...

    手动创建maven工程

    在pom.xml中定义插件配置,如使用`maven-jar-plugin`打包成JAR,或`maven-assembly-plugin`生成可执行的WAR包。 7. **依赖管理和解决冲突**:Maven会自动下载并管理项目依赖,如果遇到版本冲突,可以通过指定依赖的...

    maven插件及其使用方法(2)

    1. **maven-assembly-plugin**:创建可分发的归档文件,如zip或tar.gz。 2. **maven-resources-plugin**:处理项目资源文件,如复制和过滤。 3. **maven-javadoc-plugin**:生成Javadoc文档。 4. **maven-surefire-...

    maven安装包和仓库

    Maven 插件扩展了 Maven 的功能,如 `maven-jar-plugin` 可以创建 JAR 文件,`maven-assembly-plugin` 用于构建可分发的归档,`maven-site-plugin` 则生成项目站点。 ### 6. 总结 Maven 的安装和仓库管理是 Java ...

Global site tag (gtag.js) - Google Analytics