有些情形需要将项目依赖的jar包也合并入自己项目的jar包内,出来的这个jar我们称它为fat-jar.我所使用的方法需要用到shadow插件: 下面例子展示将mybatis打入我的jar包,并将mybatis的包名由org.apache.ibatis 改成 my.org.apache.ibatis. 这个示例并不是一个完整的build.gradle文件.里面除了relocate这行其余均为必须.relocate:在合并包的时候修改依赖的包名.如果不是必要情况,可以忽略relocate这行. p…
一.背景 最近项目在做微服务的拆分,那么我们想让我们的容器启动更加的轻量级,所以我们选择放弃tomcat等容器,而是通过maven生成带有指定依赖的可执行jar包的方式进行处理,本文我将分享如何通过maven的maven-jar-plugin打包插件来进行生成目的可jar包. 二.原理以及实现步骤 1.原理 我们可以通过修改maven 打jar包的maven-jar-plugin插件的配置信息来生成我们需要的指定依赖的可执行jar包. 2.步骤:在项目的pom.xml文件中修改默认的jar插件…
使用maven-shade-plugin打包spring项目为可执行的jar包,打包后的jar包里面包含依赖的jar包. POM文件: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.7</version> <executions> <ex…
maven 下载 jar 包速度慢时,可以自己手动下载 jar 包,然后粘贴到 External Libraries 中…
Gradle编译时在本地仓库中如果没有发现依赖,就会从远程仓库中下载, 默认的远程仓库为 mavenCentral(),即 http://repo1.maven.org/maven2/往往访问速度特别慢,经常会下载超时或者需要很长时间导致Build失败, 因此,可以用如下的国内仓库代替: 阿里的仓库地址:http://maven.aliyun.com/nexus/content/groups/public/ OSChina的仓库地址:http://maven.oschina.net/conten…
maven打包的时候默认是不加入依赖的jar包的,所以想打出一个独立的可运行jar包的话直接mvn clean install package是不行的.需要略改动下pom文件,加入如下plugin <build> <sourceDirectory>src/main/java</sourceDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupI…
1.使用gradle  clean  war 命令将项目打成war包.这一过程gradle没有提示报错. 2.将得到的myapp.war复制到tomcat下webapps(部署war包) 3.启动tomcat的时候,发现载入myapp.war失败,错误信息例如以下: java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(Unknown Source) at java.util.zip.Zi…
问题现象:项目结构如下 growup-service | - - - - - -growup-api | - - - - - -growup-core | - - - - - -growup-war 通过maven打包后出现growup-core依赖本地工程growup-api,growup-war也依赖了本地工程growup-api,但growup-war依赖的是本地仓库里的growup-core,而不是本地工程的growup-core.这时war包引用的是本地仓库里打好core的jar包,因…
初学Java的人经常遇到的一个问题是:如果一个程序依赖某个文件夹下的一堆jar包,那么启动它的时候就需要在java -cp参数后面一个一个的加上jar包的名称,很不方便. 比如主程序类叫Main,在目录lib下有aaa.jar,bbb.jar,ccc.jar,则需要输入以下命令才能执行:java -cp lib/aaa.jar;lib/bbb.jar;/lib.ccc.jar Main (linux系统下用冒号,windows下用分号). 如果jar包少,倒也不是很麻烦,但如果依赖的jar包数量…
一般情况下服务器编写好服务程序  会用Maven打成JAR包,放在Maven仓库里管理,我们在用的时候直接引用就可以, 那么如何在Gradle项目中使用本地的  或者远程的Maven仓库呢    当Maven仓库里的JAR包有更新时 我们可以用Gradle编译时直接从Maven仓库里下载(针对公司本地的服务器Jar包更新,每次服务器更新Jar包不用手动更新直接连接Maven仓库加载对应的类库) 1.在我们的工程的目录下的gradle文件配置 // Top-level build file whe…