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>
相关推荐
Spring Boot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip
Maven-assembly-plugin是maven中针对打包任务而提供的标准插件,可以实现自定义打包。主要提供如下功能: ● 提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。 ● 打包成指定格式分发包,...
主要介绍了Maven3种打包方式中maven-assembly-plugin的使用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
maven打包dubbo服务接口(maven-assembly-plugin)
maven打包,指定入口类的jar包,具体的pom配置为:<plugin> <groupId>org.apache.maven.plugins <artifactId>maven-shade-plugin <version>3.1.0 <phase>package <goal>shade implementation=...
maven安装与配置 确保已安装JDK。Maven 3.9+版本需要JDK 8或更高版本。可以通过输入java -version来检查JDK是否安装以及其版本。 下载Maven。访问Maven官网下载最新版本,例如3.9.1。对于Windows用户,通常下载...
maven-assembly-plugin maven-jar-plugin spring-boot-maven-plugin maven-dependency-plugin maven-resources-plugin CHANGELOG 1.maven-assembly-plugin 配置assembly.xml文件路径 <plugin> <artifactId>maven-...
maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing.BeanDefinitionParsingException 异常怎么办? maven-shade-plugin 插件打第三方依赖包,spring 有 java....
跑批项目打了jar包后,运行一直找不到主类或者找不到classpath下的依赖。...--将scope为runtime的依赖包打包--> <scope>runtime <directory>src/main/bin <outputDirectory>/ </assembly>
当前pom.xml中详细的记录了将maven项目打成可运行jar包的完整代码,使用maven的插件maven-assembly-plugin,同时将所有依赖打到jar包中,亲测可用。
主要介绍了Maven发布Jar包中文乱码解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
sql-packaging-plugin ... 因此,将其视为版本化二进制文件很方便,以便您可以将其添加为 Maven <dependency> ,例如,使用 maven-assembly-plugin 将其打包到安装程序中。 构建插件 克隆此存储库并将插件安装到本
此Java IntelliJ IDEA项目已使用maven-assembly-plugin打包。 请按照以下步骤运行该应用程序: 将web-app-handler二进制分发下载并解压缩到所需位置。 解压缩web-artifact-handler-1.0.zip。 运行/bin/web-app-...
本篇文章总结出用IDEA打包jar包的多种方式。项目打包Jar包可以参考如下形式:用IDEA自带的打包形式;用Maven插件maven-shade-plugin打包;用Maven插件maven-assembly-plugin打包。下面跟着小编一起来看下吧
maven-assembly-plugin 自定义打包工具 maven-compiler-plugin 编译工具 脚手架特性 生产/开发环境切换 本地开发使用classpath下的jdbc.properties 测试环境使用env/config-dev/jdbc.properties 生产环境使用env/...
Maven Plugin 10.2.4. EJB 10.2.5. WAR 10.2.6. EAR 10.2.7. 其它打包类型 10.3. 通用生命周期目标 10.3.1. Process Resources 10.3.2. Compile 10.3.3. Process Test Resources 10.3.4. Test Compile ...
插件系统演示 该项目演示了如何使用 java 打包、maven 构建系统和运行时类加载构建基于插件的简单应用程序。 结构 这是一个多模块的maven项目 ... 转到plugin-app并运行mvn compile assembly:single后
插件系统演示 该项目演示了如何使用 java 打包、maven 构建系统和运行时类加载构建基于插件的简单应用程序。 结构 这是一个多模块的maven项目 ... 转到plugin-app并运行mvn compile assembly:single后
java外卖项目源码模板跨语言 关于 添加一名作者简介:Maven Repository 结合使用 Scala 和 Java 代码描述:用于创建可以使用 ...-Dmaven.assembly.plugin.version=3.0.0 Fat Jar 执行 执行 POM 中提到的