有同事反馈自己maven-assembly-plugin打的包里面多了很多mvn dependency:tree中没有的jar. 我当时只是试着把他的maven-assembly-plugin更新到了最新版本3.1.1,没想到问题就消除了. 之后我继续把他的依赖和打包插件单独拎到一个新的空白maven项目里,最终发现问题所在. 原因 当你在pom对某个坐标使用exclusion *,排除全部传递依赖的时候,老版本的maven-assembly-plugin插件依然会包含 大专栏  maven-a…
今天有人问我打包后找不到主类,运行的类写在test中.按照常规,test目录下的文件不会打包到jar包中.(但是我测试一个springboot工程就可以,这里之后再研究) 具体解决如下 第一步:在pom文件中引入Maven Assembly Plugin插件 (注意:如果含有其他打包插件,最好先排除掉干扰) 1 <plugin> 2 <artifactId>maven-assembly-plugin</artifactId> 3 <version>2.3&l…
使用场景 在使用maven来管理项目时,项目除了web项目,还有可能为控制台程序,一般用于开发一些后台服务的程序.最近在工作中也遇到了这种场景,使用quartz开发一个任务调度程序.程序中依赖很多jar包,项目的启动时只需要初始化spring容器即可. 使用方法 使用一个简单的基于spring框架的demo来做程序示例,来介绍maven assembly插件的使用方法. 项目中的代码目录如下: 在以上代码目录中,assembly目录下为打包的描述文件,下面会详细介绍该文件,bin目录下为启动脚本…
一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar.以前采用fatjar进行打包,但是fatjar有不少问题, 1. 最近一次更新是在09年,无法支持新版本的eclipse. 2.支持最高的jdk版本是1.7 3. 打包速度慢(不是一般的慢) 4. 打成的jar包体积略大. 下面是一个Eclipse的工程,其中含有不少的maven依赖包: 采用export成runnable…
在java工程打包的过程中遇到过不少问题,现在总结一下.一种是典型的maven工程打包,依赖的jar包全都在pom.xml中指定,这种方式打包很方便:另一种是依赖了本机jar包(不能通过pom.xml指定),我目前实践结果是只能手动进行打包. 1.依赖的jar包全由pom文件指定 使用maven的assembly插件进行打包,需要在pom文件中进行插件配置.基本配置如下,在终端中执行mvn package,即可在target目录生成名字为{artifactId}-jar-with-depende…
转自:http://blueram.iteye.com/blog/1684070 已经写得挺好的,就不用重写了. 你是否想要创建一个包含脚本.配置文件以及所有运行时所依赖的元素(jar)Assembly插件能帮你构建一个完整的发布包. Assembly插件会生成 “assemblies”, 此特性等同于的Maven 1 distribution plug-in..该插件不仅支持创建二进制归档文件,也支持创建源码归档文件.这些assemblies定义在一个assembly描述符文件里.你可以选择自…
Maven Assembly插件介绍 博客分类: 项目构建   你是否想要创建一个包含脚本.配置文件以及所有运行时所依赖的元素(jar)Assembly插件能帮你构建一个完整的发布包. Assembly插件会生成 “assemblies”, 此特性等同于的Maven 1 distribution plug-in..该插件不仅支持创建二进制归档文件,也支持创建源码归档文件.这些assemblies定义在一个assembly描述符文件里.你可以选择自定义assembly描述符或者直接使用插件自带的三…
http://blog.csdn.net/u013177446/article/details/54134583 ************************************************** maven打包生成的普通jar包,只包含该工程下源码编译结果,不包含依赖内容.同时,maven提供以下方式生成包含所有依赖的jar文件,依赖以class的方式存在: 将此plugin添加到pom文件中 <plugin> <artifactId>maven-assembl…
一个java项目通过maven自动下载依赖时,会涉级读取三个配置文件,分别是项目下的pom.xml 文件 .用户家目录下的.m2/settings.xml 与 maven 全局配置settings.xml  ,后面两者不难理解,就像linux下的用户一样,有一个/etc/profile ,用户用目录下还有一个.bash_profile 文件是一样的,用户自定义配置会覆盖全局配置.所以三者的级先是 pom.xml  > /home_dir/.m2/settings.xml > /maven_di…
http://blog.csdn.net/u013177446/article/details/54134394 ****************************************************** 使用maven构建工具可以将工程打包生成普通的jar包.可运行的jar包,也可以将所有依赖一起打包生成jar: 一.普通的jar包 普通的jar包只包含工程源码编译出的class文件以及资源文件,而不包含任何依赖:同时还包括pom文件,说明该包的依赖信息: 在工程pom文件下…