首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Maven Assembly :如何为每个环境生成zip文件?

Maven Assembly是一个Maven插件,用于将项目打包成可执行的zip文件。通过配置Maven Assembly插件,可以为每个环境生成不同的zip文件。

为每个环境生成zip文件的步骤如下:

  1. 在项目的pom.xml文件中,添加Maven Assembly插件的配置。配置示例如下:
代码语言:txt
复制
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>3.3.0</version>
      <configuration>
        <descriptors>
          <descriptor>src/main/assembly/zip.xml</descriptor>
        </descriptors>
      </configuration>
      <executions>
        <execution>
          <id>make-assembly</id>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
  1. 在项目的src/main/assembly目录下,创建zip.xml文件,用于定义生成zip文件的配置。配置示例如下:
代码语言:txt
复制
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
  <id>zip</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}</directory>
      <outputDirectory>/</outputDirectory>
      <includes>
        <include>*.jar</include>
      </includes>
    </fileSet>
    <!-- 添加其他需要打包的文件或目录 -->
  </fileSets>
</assembly>
  1. 运行Maven命令进行打包。在命令行中执行以下命令:
代码语言:txt
复制
mvn package
  1. 执行完毕后,在项目的target目录下会生成一个zip文件,包含了项目的可执行文件和其他需要打包的文件或目录。

通过以上步骤,就可以为每个环境生成相应的zip文件。可以根据需要在zip.xml文件中添加其他需要打包的文件或目录,以满足不同环境的需求。

腾讯云相关产品推荐:

  • 云服务器(CVM):提供弹性计算能力,满足各种规模的应用需求。产品介绍
  • 对象存储(COS):安全可靠的云端存储服务,适用于存储和处理各种类型的数据。产品介绍
  • 云数据库MySQL版(CMQ):高性能、可扩展的关系型数据库服务,支持自动备份和容灾。产品介绍
  • 人工智能机器翻译(TMT):提供高质量的机器翻译服务,支持多种语言互译。产品介绍
  • 云函数(SCF):无服务器的事件驱动型计算服务,支持多种编程语言。产品介绍

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

公司用了 6 年的Spring Boot 部署方案!打包 + Shell 脚本详解,稳的一批!

本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作; profiles指定不同环境的配置 maven-assembly-plugin...}获取到,如下: activeByDefault:指定默认环境配置文件maven-assembly-plugin打发布压缩包 对于springboot程序打包,可以分为jar和war,这里是jar...包;有场景是咋们配置文件或者第三方等依赖包不想放到工程jar中,并且把这些文件压缩成一个zip包,方便上传到linux;此时通过maven-assembly-plugin和maven-jar-plugin...)在linux上文件权限为777 filtered节点:脚本中参数变量为pom的profiles中properties的值(该配置,是把mvn中属性值映射生成到sh文件中,:${package-name...zip包的时候,shell中的参数就被替换了,可以看zip中shell文件内容: linux上使用shenniu_publish.sh启动程序 把生成zip上传到linux上,通过命令解压: unzip

71020

Spring Boot 项目打包 + Shell 脚本部署实践,太有用了!

方式指定 通过mvn中profiles来区分不同环境对应的配置文件夹,人工可以手动在idea勾选生成不同环境的包(推荐) 这里我们要讲的是第二种,首先在mvn中配置如下内容: 1 ...{package-name}获取到,如下: img activeByDefault:指定默认环境配置文件maven-assembly-plugin打发布压缩包 对于springboot程序打包,可以分为...jar和war,这里是jar包;有场景是咋们配置文件或者第三方等依赖包不想放到工程jar中,并且把这些文件压缩成一个zip包,方便上传到linux;此时通过maven-assembly-plugin和maven-jar-plugin...)在linux上文件权限为777 filtered节点:脚本中参数变量为pom的profiles中properties的值(该配置,是把mvn中属性值映射生成到sh文件中,:${package-name...zip包的时候,shell中的参数就被替换了,可以看zip中shell文件内容: img 把生成zip上传到linux上,通过命令解压: 1 unzip -od eureka-server-0.0.1

99720

公司用了6年的 SpringBoot 项目部署方案,稳得一批!

大家好,我是不才陈某~ 本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作; profiles指定不同环境的配置 maven-assembly-plugin...}获取到,如下: activeByDefault: 指定默认环境配置文件maven-assembly-plugin打发布压缩包 对于springboot程序打包,可以分为jar和war,这里是jar...包;有场景是咋们配置文件或者第三方等依赖包不想放到工程jar中,并且把这些文件压缩成一个zip包,此时通过maven-assembly-plugin和maven-jar-plugin就可以做到,mvn的配置...)在linux上文件权限为777 filtered节点: 脚本中参数变量为pom的profiles中properties的值(该配置,是把mvn中属性值映射生成到sh文件中,:${package-name...zip包的时候,shell中的参数就被替换了,可以看zip中shell文件内容: linux上使用shenniu_publish.sh启动程序 把生成zip上传到linux上,通过命令解压: unzip

20210

我们公司使用了 6 年的Spring Boot 项目部署方案!打包 + Shell 脚本部署详解,稳的一批!

本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利工作; profiles指定不同环境的配置 maven-assembly-plugin...{package-name}获取到,如下: img activeByDefault:指定默认环境配置文件maven-assembly-plugin打发布压缩包 对于springboot程序打包,可以分为...jar和war,这里是jar包;有场景是咋们配置文件或者第三方等依赖包不想放到工程jar中,并且把这些文件压缩成一个zip包,方便上传到linux;此时通过maven-assembly-plugin和maven-jar-plugin...)在linux上文件权限为777 filtered节点:脚本中参数变量为pom的profiles中properties的值(该配置,是把mvn中属性值映射生成到sh文件中,:${package-name...zip包的时候,shell中的参数就被替换了,可以看zip中shell文件内容: img 把生成zip上传到linux上,通过命令解压: 1 unzip -od eureka-server-0.0.1

65520

我们公司使用了 6 年的Spring Boot 项目部署方案!打包 + Shell 脚本部署详解,稳的一批!

springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作; profiles指定不同环境的配置 maven-assembly-plugin打发布压缩包...,这里是jar包;有场景是咋们配置文件或者第三方等依赖包不想放到工程jar中,并且把这些文件压缩成一个zip包,方便上传到linux;此时通过maven-assembly-plugin和maven-jar-plugin...xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0...)在linux上文件权限为777 filtered节点:脚本中参数变量为pom的profiles中properties的值(该配置,是把mvn中属性值映射生成到sh文件中,:${package-name...zip包的时候,shell中的参数就被替换了,可以看zip中shell文件内容: linux上使用shenniu_publish.sh启动程序 把生成zip上传到linux上,通过命令解压: 1

93520

深入探讨Maven打包:打造精致的Zip

深入探讨Maven打包:打造精致的Zip包 在部署Spring Boot生产项目时,首先需要使用Maven将其打包成一个JAR文件或者包含JAR文件ZIP文件。...为了构建ZIP文件,我们使用了Maven Assembly Plugin插件,该插件用于创建项目分发包,通过一个XML描述文件定义打包内容。本文将详细介绍这一流程。...该插件可以帮助将项目的构建输出、依赖库等资源打包成一个归档文件 JAR、ZIP、TAR 等,方便项目的部署和发布。...多种打包格式:支持生成不同格式的归档文件 JAR 包含所有依赖、ZIP 压缩文件、TAR 文件等,可以根据实际情况选择合适的打包格式。...插件执行阶段:通常在 Maven 构建的某个阶段( package 阶段)触发执行,生成所需的分发包。 简化部署流程:打包成归档文件后,可以方便地进行部署和发布,简化了项目的交付流程。

10510

Assembly 部署流程

因为我们如果直接构建一个 Spring Boot 的 FatJar 交由运维人员部署的话,整个配置文件都被隐藏到 jar 中,想要针对不同的环境修改配置文件就变成了一件很困难的事情。...--主要使用的是maven提供的assembly插件完成--> maven-assembly-plugin...打包后在 target 下便会生成一个名为 xxx.tar.gz 的压缩文件。 将这个压缩包解压后可以看到内部包含的目录如下。...Windows 系统:双击 start.bat 即可启动服务 服务启动后,相应的日志文件生成到 logs 目录下(logs 目录会自动创建) 修改配置 修改 config 文件夹下面的配置文件,此处的配置文件是...--主要使用的是maven提供的assembly插件完成--> maven-assembly-plugin

1.5K40

Assembly 打包和部署 Spring Boot

因为我们如果直接构建一个 Spring Boot 的 FatJar 交由运维人员部署的话,整个配置文件都被隐藏到 jar 中,想要针对不同的环境修改配置文件就变成了一件很困难的事情。...--主要使用的是maven提供的assembly插件完成--> maven-assembly-plugin...打包后在 target 下便会生成一个名为 xxx.tar.gz 的压缩文件。 将这个压缩包解压后可以看到内部包含的目录如下。...Windows 系统:双击 start.bat 即可启动服务 服务启动后,相应的日志文件生成到 logs 目录下(logs 目录会自动创建) 修改配置 修改 config 文件夹下面的配置文件,此处的配置文件是...--主要使用的是maven提供的assembly插件完成--> maven-assembly-plugin

1.7K00

浅谈 java 中构建可执行 jar 包的几种方式

默认Maven生成的JAR包只包含了编译生成的.class文件和项目资源文件,而要得到一个可以直接在命令行通过 java命令运行的JAR文件,还要满足两个条件: JAR包中的/META-INF...它支持各种打包文件格式,包括zip、tar.gz、tar.bz2等等,通过一个打包 描述文件(例如 src/main/assembly.xml),它能够帮助用户选择具体打包哪些文件集合、依赖、模块、...和甚至本地仓库文件每个项的具体打包路径用户也能自由控制。...比如下面的配置通过设置 assembly 文件的配置节点 dependencySets/includes,来实现 maven build 生成的 jar 包只包含指定的 jar 依赖。 ...一般 maven 坐标写成如下的格式: groupId:artifactId:packaging:version groupId: 项目或者组织的唯一标志,并且配置时生成的路径也是由此生成org.codehaus.mojo

3.8K50

maven-assembly-plugin的使用

目前至少支持以下打包类型: zip tar tar.gz tar.bz2 jar dir war 默认情况下,打jar包时,只有在类路径上的文件资源会被打包到jar中,并且文件名是${artifactId...Descriptor 要使用maven-assembly-plugin,需要指定至少一个要使用的assembly descriptor 文件,对于当前使用的版本(2.4)对应的assembly descriptor...: 会将所有依赖都解压打包到生成物中 src :只将源码目录下的文件打包 project : 将整个project资源打包 要查看它们的详细定义,可以到maven-assembly-plugin-2.4...指定Main-Class archive的一个重要用处就是配置生成的MANIFEST.MF文件。默认会生成一个MANIFEST.MF文件,不过这个文件默认值没什么意义。...比如在OSGI bundle的MANIFEST.MF定义里就有很多用来定义bundle的属性的项,Import-Package,Export-Package等等。

1.6K10

maven-自定义打包maven-assembly-plugin插件

插件名称:maven-assembly-plugin 目前最新的版本:3.2.0 作用:该插件可以使用户根据自己的需求自定义打包规则和打包类型 pom文件配置示例: ...org.apache.maven.plugins maven-assembly-plugin...> 运行maven的package后,会进行编译和打包,按照上述的配置会多产生一个testProject-bin.zip文件 或者直接运行plugins-assembly下的assembly:single...可以同时定义多个format;如果按上面的配置,生成文件就是${fileName}-bin.zip。 dependencySets/dependencySet 设置工程依赖文件在打包时的属性。...:指定该目录下的文件属性,采用Unix八进制描述法,默认值是0644 outputDirectory:生成目录的路径 files/file 与fileSets大致相同,不过是指定单个文件,还可以通过destName

2.9K00

SDN开发笔记(三):ODL源码编译生成发行版控制器

分享内容都是经过我精心测试与验证,包括: 1、SDN开发环境的搭建(win7环境) 2、SDN控制器的使用(ubuntu环境搭建、controller使用、mininet的使用) 3、ODL源码编译生成发行版控制器...SDN控制器的使用(ubuntu环境搭建、controller使用、mininet的使用)》之后,参照上述两篇文章将开放环境搭建好,开始尝试从源码编译生成发行版二进制文件,顺便也解答下一些网友在此过程中遇到的问题...,从源码编译生成odl控制器这一步骤是每个开发人员都要掌握的内容。...distribution-karaf-0.3.3-Lithium-SR3.zip assembly 目录下有karaf文件,可以直接运行启动odl控制器, distribution-karaf-0.3.3...-Lithium-SR3.tar.gz是采用tar方式打包的odl控制器二进制文件 distribution-karaf-0.3.3-Lithium-SR3.zip是采用zip方式打包的odl控制器二进制文件

1.6K80
领券