文档章节

Maven配置maven-shade-plugin插件生成可执行的jar

王念博客
 王念博客
发布于 2016/04/02 14:57
字数 140
阅读 1748
收藏 10

  默认打包生成的jar是不能直接运行的,因为带有main方法的信息不会添加到mainifest中,需要借助maven-shade-plugin 

<build>
    <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.4.1</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals><goal>shade</goal></goals>
                <configuration>
                    <transformers>
                        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                            <mainClass>Jsoup.JsoupTest</mainClass>
                        </transformer>
                    </transformers>
                </configuration>
            </execution>
        </executions>
     </plugin>
    </plugins>

</build>

    如果你有一个main函数,可以通过调用java -jar yourjar.jar运行时,只需要在插件配置中加入一句话:例如:

<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
    <mainClass>com.demo.main</mainClass>
</transformer>


博客地址:http://my.oschina.net/wangnian


© 著作权归作者所有

王念博客
粉丝 193
博文 118
码字总数 90639
作品 0
浦东
程序员
私信 提问
Maven构建可执行jar包--maven-shade-plugin

1、将工程打成jar包(不是可执行的jar包) 普通的maven java工程可以通过pom文件的配置将工程打成jar包,但是该jar包无法执行(通过java -jar xxx.jar此方式),因为jar包下的MANIFEST.MF文件中没...

醉公子
2016/08/16
411
1
根据 Jar 文件直接创建 Windows 的可执行程序

程序员经常被要求将一个 Java 应用程序打包成 Windows 下的可执行程序。下面这个简单的实例就是演示如何创建一个包含开发商信息的 Windows 可执行程序,并包含一个不错的图标。这里需要用到 ...

曾沙
2012/11/26
717
0
根据 Jar 文件直接创建 Windows 的可执行程序

程序员经常被要求将一个 Java 应用程序打包成 Windows 下的可执行程序。下面这个简单的实例就是演示如何创建一个包含开发商信息的 Windows 可执行程序,并包含一个不错的图标。这里需要用到 ...

红薯
2012/08/13
6.6K
12
maven系列学习之二:maven初体验-简单使用maven进行测试,编译、打包和运行

1、编译测试 <dependency> …… <scope>test</scope> </dependency> Scope:依赖范围。若依赖范围为test则表示该依赖只对测试有效。如果不声明依赖范围,那么默认值为compile,表示该依赖对主...

逸风如梦
2014/03/12
3.8K
0
maven之打包插件(maven-assembly-plugin,maven-shade-plugin与maven-assembly-plugin)

一. 介绍 maven提供的打包插件有如下三种: 每种打包方式都具有自己的应用场景。 二. 打包准备 1). 需要设定文件的编码格式(如果不设定,将会以系统的默认编码进行处理)与JDK版本版本变量,...

mmss
2017/12/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
873
11
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
15
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部