java 中使用maven shade plugin 打可執(zhí)行Jar包
eclipse里有一個(gè)功能叫做“打可執(zhí)行(runnable) jar包”, 用這個(gè)功能可以把一個(gè)工程自身和所有依賴(lài)包打成一個(gè)fat jar,并且指定Main方法,這樣直接使用java jar xxx.jar就可以運(yùn)行代碼了。
但是在不使用eclipse的時(shí)候呢?其實(shí),借助maven,我們很容易實(shí)現(xiàn)同樣功能。maven提供了一個(gè)shade plugin,可以用來(lái)打fat jar, 同時(shí)也提供了指定main方法的功能。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<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打包的時(shí)候就可以打出直接可運(yùn)行的包了。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!