一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

maven使用assembly进行打包方法代码示例

时间:2020-09-04 编辑:袖梨 来源:一聚教程网

本篇文章小编给大家分享一下maven使用assembly进行打包方法代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

1. pom 中添加assembly 插件

要使用assembly 进项编译打包, 首先主要在pom 中的build中添加插件信息, 具体如图下所示:


  ${project.artifactId}
  src/main/java
  
    
      src/main/resources
      true
      
        **/*.xml
        **/*.properties
      
    
    
      ${profile.dir}
      true
    
  

  
    
    
      org.apache.maven.plugins
      maven-compiler-plugin
      3.1
      
        1.8
        1.8
        utf-8
      
    

    
    
      org.apache.maven.plugins
      maven-assembly-plugin
      
        
        src/main/assembly/assembly.xml
      
      
        
          make-assembly
          package
          
            single
          
        
      
    
  
 

2. 创建assembly文件夹和assembly.xml文件

创建assembly文件夹和assembly.xml文件, 这个样子创建主要是规范。 

在pom 中已经介绍assembly.xml 位置。


src/main/assembly/assembly.xml 

创建assembly.xml 文件后添加如下内容:


  
    
    tar.gz
    zip
    dir
  
  false
  
    
      src/main/resources
      conf
      0644
    
    
      ${profile.dir}
      conf
      
      
        *.xml
        *.properties
        **/*.xml
        **/*.properties
      
      0644
    
    
      src/main/assembly/bin
      bin
      0755
    
  
  
    
      lib
    
  
 

fileMode 官方解释:

Similar to a UNIX permission, sets the file mode of the files included. THIS IS AN OCTAL VALUE. Format: (User)(Group)(Other) where each component is a sum of Read = 4, Write = 2, and Execute = 1. For example, the value 0644 translates to User read-write, Group and Other

上述的三个fileSet 分别是将resource 下的资源打包到config 目录下, 将assembly下的bin 启动相关脚本打包到bin 目录下, 将maven项目依赖的所有jar 包, 打包到lib 中。 

具体结构如下图所示:

参考地址:http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html

zip.xml 文件配置如下

 
  release 
   
    zip 
   
   
     
      ${project.basedir}srcmainconfig 
       
       
        *.xml 
       
       
     
   
   
   
     
      true 
      lib 
      runtime 
     
   
 

例:


 assembly
 
 tar.gz
 
 true
 
 
  ${project.build.directory}/resources
  resources
  0755
 
 
  ${project.build.directory}/config
  config
  0644
 
 
  ${project.build.directory}/bin
  bin
  0755
 
 
 
 
  lib
 
 

热门栏目