Maven assembly插件进行自定义构建】的更多相关文章

众所周知,Maven是一个约定优于配置的java构建工具,通常我们只需要定义非常少的内容,就可以根据package标签属性来构建生成的jar, war包的相关内容. 如果想要对maven中依赖的内容一起打包,就需要使用maven-assembly-plugin来实现,对于该插件,其基本的配置如下: <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descr…
一.背景 最近我们项目越来越多了,然后我就在想如何才能把基础服务的打包方式统一起来,并且可以实现按照我们的要求来生成,通过研究,我们通过使用maven的assembly插件完美的实现了该需求,爽爆了有木有.本文分享该插件的配置以及微服务的统一打包方式. 二.配置步骤及其他事项 1.首先我们需要在pom.xml中配置maven的assembly插件 <build> <plugins> <plugin> <groupId>org.apache.maven.plu…
微服务必备 优点: 1.可以直接导入依赖jar包 2.可以添加插件启动 .sh 文件 3.插件的配置以及微服务的统一打包方式 1.首先我们需要在pom.xml中配置maven的assembly插件 <build> <plugins> <plugin> <artifactId>maven-jar-plugin</artifactId> <configuration> <classesDirectory>target/clas…
转自:http://blueram.iteye.com/blog/1684070 已经写得挺好的,就不用重写了. 你是否想要创建一个包含脚本.配置文件以及所有运行时所依赖的元素(jar)Assembly插件能帮你构建一个完整的发布包. Assembly插件会生成 “assemblies”, 此特性等同于的Maven 1 distribution plug-in..该插件不仅支持创建二进制归档文件,也支持创建源码归档文件.这些assemblies定义在一个assembly描述符文件里.你可以选择自…
在java工程打包的过程中遇到过不少问题,现在总结一下.一种是典型的maven工程打包,依赖的jar包全都在pom.xml中指定,这种方式打包很方便:另一种是依赖了本机jar包(不能通过pom.xml指定),我目前实践结果是只能手动进行打包. 1.依赖的jar包全由pom文件指定 使用maven的assembly插件进行打包,需要在pom文件中进行插件配置.基本配置如下,在终端中执行mvn package,即可在target目录生成名字为{artifactId}-jar-with-depende…
使用Maven的<artifactId>maven-assembly-plugin</artifactId>插件导致输出的XML配置文件源文件的中文注释变成乱码,排查了多个地方并尝试解决,都没有发现和解决问题,包括在POM文件中指定编译编码和文件编码为UTF-8都无效: <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.4</version>…
Java Service Wrapper工具YAJSW 简介信息 YAJSW是一个开源的Java服务包装(Java Service Wrapper)工具.YAJSW允许您把任何应用程序安装为window的服务或者作为一个Linux posix的守护进程进行监控.可以通过JNLP文件读取配置信息,也可以从远程包装配置信息文件中读取配置信息.通过使用VFS虚拟文件系统(Virtual File System),YAJSW支持多种传输协议,例如:HTTP,HTTPS,FTP,SFTP,SMTP,WEB…
Maven Assembly插件介绍 博客分类: 项目构建   你是否想要创建一个包含脚本.配置文件以及所有运行时所依赖的元素(jar)Assembly插件能帮你构建一个完整的发布包. Assembly插件会生成 “assemblies”, 此特性等同于的Maven 1 distribution plug-in..该插件不仅支持创建二进制归档文件,也支持创建源码归档文件.这些assemblies定义在一个assembly描述符文件里.你可以选择自定义assembly描述符或者直接使用插件自带的三…
使用场景 在使用maven来管理项目时,项目除了web项目,还有可能为控制台程序,一般用于开发一些后台服务的程序.最近在工作中也遇到了这种场景,使用quartz开发一个任务调度程序.程序中依赖很多jar包,项目的启动时只需要初始化spring容器即可. 使用方法 使用一个简单的基于spring框架的demo来做程序示例,来介绍maven assembly插件的使用方法. 项目中的代码目录如下: 在以上代码目录中,assembly目录下为打包的描述文件,下面会详细介绍该文件,bin目录下为启动脚本…
插件是可以配置在settings.xml和pom.xml中的 插件目标: 在了解插件和生命周期的绑定关系之前,先来说一下插件目标.在实际项目构建的过程中,需要经历编译.打包等等许许多多的操作,为每个操作都单独定义一个插件是不可取的,因为有很多可以复用的代码.所以一个插件往往有许多个目标,每个目标完成一个具体的操作.比如denpendency:tree中,dependency指的是插件前缀,tree指的就是插件目标. 默认绑定:maven生命周期的阶段与插件的目标是相互绑定的,比如maven-co…
前提概要 最近我们项目越来越多了,然后我就在想如何才能把基础服务的打包方式统一起来,并且可以实现按照我们的要求来生成,通过研究,我们通过使用maven的assembly插件完美的实现了该需求,爽爆了有木有.本文分享该插件的配置以及微服务的统一打包方式. maven-assembly-plugin打包插件 配置步骤及其他事项 首先我们需要在pom.xml中配置maven的assembly插件 <build> <plugins> <plugin> <groupId&g…
1. 在 dubbo 的 provider 项目(实现类项目dubbo-service-impl)中 pom.xml 配置 assembly插件信息 <!-- 指定项目的打包插件信息 --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <!-- 指定打包描述文件的位置:相对项目根目录 的路径 --> <!-- assembly 打…
技术推荐 自定义Archetype Maven骨架/以当前项目为模板创建maven骨架,可以参考http://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html,详细介绍了如何快速创建和使用Archetype. 技术背景 在工作过程中必然会遇到创建项目的蛋疼事,一个项目包含茫茫多的配置文件.例如:Spring.mybatis.log4j.pom.xml.git等,其他的还包括项目目录骨架.整个过程下来顺利的话…
maven利用各种插件来管理构建项目,本文记录下工作中常用到的插件及使用方法.每个插件都会提供多个目标(goal),用于标示任务.各插件配置在pom.xml里,如下: <build> [...] <plugins> <plugin> ... </plugin> </plugins> [...] </build> 常用插件见:http://maven.apache.org/plugins/index.html,http://www.mo…
参考资料:http://my.oschina.net/zh119893/blog/276090 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成. 例如编译源代码是由maven-compiler-plugin完成的. 进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标. 例如maven-compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompil…
常用插件配置详解Java代码    <!-- 全局属性配置 --> <properties> <project.build.name>tools</project.build.name> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> project.build.name:  用来定义war包名称  proje…
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码. 用户可以通过两种方式调用Mave…
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/Java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码. 用户可以通过两种方式调用Mave…
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Maven最强大的功能就是能够自动下载项目依赖库.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期.在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作.由于大部分项目的设置都很简单,并且可重…
maven本质上是一个插件框架,几乎所有的功能都是通过各种各样的插件来实现的.maven默认会依据项目类型自动把构建时的各阶段(Lifecycle和phase)自动绑定(Lifecycle Mapping)到特定插件(plugin)提供的功能点(goals)上.例如java项目编译阶段(compile),实际上是调用了maven-compiler-plugin插件提供的compile功能点(goal)来实现的. 一.调用插件提供的功能(goal) 方式一:通过生命周期映射的方式,将插件的goal…
主要介绍Maven的几个常见第三方插件(cobertura.findbugs.source.assembly.插件开发)配置和使用,接Maven介绍 maven本质上是一个插件框架,它的所有工作都交给插件来做,每个插件可以有多个goal.除了自带的插件之外还有很多比较成熟的第三方插件,我们也很容易上手进行简单的插件开发,下面一一介绍 1 自带插件maven自带的核心插件为Build plugins和Reporting plugins.mvn compile编译源码实际上就利用到了maven-co…
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Maven最强大的功能就是能够自动下载项目依赖库.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期.在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作.由于大部分项目的设置都很简单,并且可重…
maven-assembly可以通过dependencySets将依赖的jar包打到特定目录. 1. 简介 简单的说,maven-assembly-plugin 就是用来帮助打包用的,比如说打出一个什么类型的包,包里包括哪些内容等等. 2. 常见的maven插件 maven插件是在生命周期中某些阶段执行的任务.一个插件完成一项功能.以下介绍几种常见的插件.如对于打包来说,有多种插件选择.最常见的有以下3个: plugin function maven-jar-plugin maven 默认打包插…
参考资料:http://www.cnblogs.com/cheng95/p/6542036.html http://www.cnblogs.com/software-test/p/7068278.html 第三方版本:JDK 1.7.xmaven 3.5.xgit 1.7.xtomcat 8.x一.安装配置JDKJDK环境配置:export JAVA_HOME=/usr/java/defaultexport JAVA_BIN=$JAVA_HOME/binexport PATH=$PATH:$JA…
1 maven项目打包的插件有3种 maven-jar-plugin maven-assembly-plugin maven-shade-plugin 2 maven-jar-plugin 现在要新增一个Premain-Class属性,配置如下: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compil…
Maven 编写插件 Maven 的任何行为都是由插件完成的,包括项目的清理.绵编译.测试以及打包等操作都有其对应的 Maven 插件.每个插件拥有一个或者多个目标,用户可以直接从命令行运行这些插件目标,或者选择将目标绑定到 Maven 的生命周期. 大量的 Maven 插件可以从 Aapche 获得,当你发现自己有特殊需要的时候,首先应该搜索一下看是否已经有现成的插件可供使用.在一些非常情况下(几率低于1%),你有非常特殊的需求,并且无法找到现成的插件可供使用,那么就只能自己编写 Maven…
一.Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Maven最强大的功能就是能够自动下载项目依赖库.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期.在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作.由于大部分项目的设置都很简单,并且…
在前面的文章中,笔者详细介绍了 MyBatis 框架的底层框架与运行流程,并且在理解运行流程的基础上手写了一个自己的 MyBatis 框架.看完前两篇文章后,相信读者对 MyBatis 的偏底层原理和执行流程已经有了自己的认知,并且对其在实际开发过程中使用步骤也已是轻车熟路.所谓实践是检验真理的唯一标准,本文将为大家介绍一些 MyBatis 使用中的一些实用插件与自定义插件.本文涉及到的代码已上传至 GitHub: mypagehelper-demo . 话不多说,现在开始! 1. Lombok…
一.Maven 的生命周期 Maven 的生命周期是对所有的构建过程进行抽象和统一.Maven 的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,生命周期只是定义了一系列的阶段,并确定这些阶段的执行顺序. Maven 有三套相互独立的生命周期,分别是 clean.default和 site.生命周期( lifecycle )由多个阶段( phase )组成,每个阶段( phase )会挂接一到多个goal.Goal 是 maven 里定义任务的最小单元,如下表: 生命周期( Lifec…
一.问题描述: 部署一个maven打包项目时,jar包,依赖lib包全部手动上传至服务器,然后用maven部署报错:Exception in thread "main" java.lang.NoClassDefFoundError:,当时心想可能是依赖的lib包有问题,各种重新部署(以为是依赖的包没有更新),确忽略了一个大问题:pom.xml没仔细检查.解决方法:最终发现<plugin>                <groupId>org.apache.ma…