java 中使用maven shade plugin 打可执行Jar包
java 中使用maven shade plugin 打可执行Jar包
eclipse里有一个功能叫做“打可执行(runnable) jar包”, 用这个功能可以把一个工程自身和所有依赖包打成一个fat jar,并且指定Main方法,这样直接使用java jar xxx.jar就可以运行代码了。
但是在不使用eclipse的时候呢?其实,借助maven,我们很容易实现同样功能。maven提供了一个shade plugin,可以用来打fat jar, 同时也提供了指定main方法的功能。
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>org.sonatype.haven.HavenCli</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> ... </project>
然后在用maven打包的时候就可以打出直接可运行的包了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
详解如何将本地JAR包添加到本地Maven仓库中
详解如何将本地JAR包添加到本地Maven仓库中 有些时候,当我们需要在自己的maven工程中添加一个确定的jar而发现Maven中央仓库不存在时,但是我们自己手上有这些需要的jar包,那么我们可以自给自足,把这个jar包添加到我们的自己的maven仓库中,这样方便在maven工程中引用. 比如sqljdbc.jar在Maven中央仓库中找不到,但是我们的maven工程中确实需要这样的一个jar包,那么我们首先需要下载对应版本的sqljdbc.jar包到本地,然后按照以下的命令添加到本地仓库.(
-
Maven优雅的添加第三方Jar包的方法
在利用Maven构建项目的时候会出现某些Jar包无法下载到本地的Repository中,鉴于这种情况比较普遍存在,特归纳以下解决问题办法:以 ojdbc14-10.2.0.4.0.jar为例[其它Jar包本地安装同理] 1:下载ojdbc14-10.2.0.4.0.jar 2:在jar包目录打开cmd命令窗口执行:mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpa
-
将本地jar包安装进入maven仓库(实现方法)
实际项目中pom.xml依赖写法: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>3.1.0.RELEASE</version> </dependency> Maven 安装 JAR 包的命令是: mvn install:install-fi
-
maven打包web项目时同时打包为war和jar文件的方法
本文介绍了maven打包web项目时同时打包为war和jar文件的方法,分享给大家,具体如下: 首先在pom.xml文件中指定war的打包方式,war <artifactId>test</artifactId> <name>test</name> <packaging>war</packaging> 上述代码在eclipse中执行maven install时, 会默认打成war,并放入本地仓库. web项目时同时打包为war和jar文
-
Maven本地jar引用的实现方法
Maven本地jar引用的实现方法 有的时候需要在maven工程项目中引用本地的jar,pom.xml配置如下: <dependency> <groupId>xxxx</groupId> <artifactId>xxxxxx</artifactId> <version>1.0.0.1-SNAPSHOT</version> <scope>system</scope> <systemPath>
-
maven中下载jar包源码和javadoc的命令介绍
1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的达到这个目的: 复制代码 代码如下: mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc 命令使用方法:首先进入到相应的pom.xml目录中,然后执行以上命令: 第一个命令是尝试下载在pom.xml中依赖的文件的源代码
-
Maven的国内镜像(快速解决jar下载过慢的问题)
Maven简介 maven作为一个项目管理工具确实非常好用,结果在使用时候,你会发现下载jar速度不如自己在网上下载.之前oschina的中央仓库可用,现在oschina的maven服务器关了,只能拿国内镜像来替代.在网上发现阿里云公开了一个中央仓库,就顺手写下来了,方便以后使用. 修改Maven目录中的conf/settings.xml 找到mirrors节点,添加到节点下 1.这是阿里云仓库 <mirror> <id>alimaven</id> <name&g
-
java 中使用maven shade plugin 打可执行Jar包
java 中使用maven shade plugin 打可执行Jar包 eclipse里有一个功能叫做"打可执行(runnable) jar包", 用这个功能可以把一个工程自身和所有依赖包打成一个fat jar,并且指定Main方法,这样直接使用java jar xxx.jar就可以运行代码了. 但是在不使用eclipse的时候呢?其实,借助maven,我们很容易实现同样功能.maven提供了一个shade plugin,可以用来打fat jar, 同时也提供了指定main方法的功能.
-
Maven 生成打包可执行jar包的方法步骤
最近IDEA打可执行Jar包搞了三天,一直失败,好好学习一下Maven-assembly,在此记录一下 1. 需求 项目打包,满足以下要求: 1.整个项目打一个Zip包下面包括应用程序.应用程序依赖的jar包.说明文档 2.项目打的jar包可以执行不同类里的Main函数 3.项目源码打的jar包要与依赖的第三方jar包分开 4.项目里的执行脚本也要一块打包并进行分类 5.document目录下的readme.txt放在压缩包的根目录下,其他的还放在这个目录下 6.打的jar包去掉不需要的目录(文
-
Java中的maven和gradle的比较与使用详解
目录 1 构建工具的简单介绍 2 maven.gradle的简单使用方法 2.1 创建maven项目 2.2 maven的使用 2.3 gradle的使用 3 总结 1 构建工具的简单介绍 在代码世界中有三大构建工具,ant.Maven和Gradle.现在的状况是maven和gradle并存,gradle使用的越来越广泛.Maven使用基于XML的配置,Gradle采用了领域特定语言Groovy的配置.在Maven中要引入一个依赖,如下面的例子: <properties> <kaptch
-
Java中基于maven实现zxing二维码功能
maven所需jar <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifac
-
浅谈java 执行jar包中的main方法
浅谈java 执行jar包中的main方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看: java -classpath ****.jar ****.****.className [args] "****.****"表示"包名": "className"表示&
-
java打包成jar并执行jar包中指定的main方法
java打包成jar jar -cvf [jar包的名字] [需要打包的文件] 执行jar包中的main方法 java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看: java -classpath ****.jar ****.****.className [args] "****.****"表示"包名": "className"表示&q
-
Java中如何判断线程池任务已执行完成
目录 不判断的问题 方法1:isTerminated 缺点分析 扩展:线程池的所有状态 方法2:getCompletedTaskCount 方法说明 优缺点分析 方法3:CountDownLatch 优缺点分析 方法4:CyclicBarrier 方法说明 优缺点分析 总结 前言: 很多场景下,我们需要等待线程池的所有任务都执行完,然后再进行下一步操作.对于线程 Thread 来说,很好实现,加一个 join 方法就解决了,然而对于线程池的判断就比较麻烦了. 我们本文提供 4 种判断线程池任务是
-
Maven项目打包成可执行Jar文件步骤解析
在使用Maven完成项目以后,如果是需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单.我们可以通过插件完成这项工作,使用assembly插件.具体使用方式如下: 1.在项目中加入插件的依赖: <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2&l
-
Maven 项目用Assembly打包可执行jar包的方法
目录 1.添加maven插件 2.mvn clean(清理下项目) 3.maven update project(用eclipse工具) 4.命令后执行命令mvn assembly:assembly -Dmaven.test.skip 5.执行 java -jar DataCollector.jar 该方法只可打包非spring项目的可执行jar包 1.添加maven插件 <build> <finalName>DataCollector</finalName> <
-
Eclipse创建java程序可执行jar包教程
一.eclipse中,在要打成jar包的项目名上右击,出现如下弹出框,选择"export": 二.在接下来出现的界面中点击"jar file",然后next: 三.在接下来出现的界面中,如图所示勾选上要打包的项目以及其他选项,例如test项目:然后点击右边箭头所指的browse,选择打好的jar包要保存的目录,同时给自己的jar包命名,例如我这里选择存放在桌面,名字为jarTest;然后点击"next",在之后弹出的界面中再点击一次"n
随机推荐
- jquery修改网页背景颜色通过css方法实现
- Json序列化和反序列化方法解析
- javascript文本框内输入文字倒计数的方法
- 为javascript添加String.Format方法
- asp.net LC.exe已退出代码为 -1的原因分析及解决方法
- php的laravel框架快速集成微信登录的方法
- PHP文件生成的图片无法使用CDN缓存的解决方法
- 判断是否为指定长度内字符串的php函数
- Android中自定义ContentProvider实例
- 桌面中心(四)数据显示
- C++编写DLL动态链接库的步骤与实现方法
- javascript实现的图片预览功能
- java图片验证码生成教程详解
- 浅谈Linux下通过find命令进行rm文件删除的小技巧
- jquery+php实现滚动的数字特效
- jquery 手势密码插件
- 加随机数引入脚本不让浏览器读取缓存
- java中String的一些方法深入解析
- Python3.6 Schedule模块定时任务(实例讲解)
- 浅析Android中build.gradle的实用技巧