谢彬のCSDN专栏

冰冻三尺非一日之寒,滴水穿石非一日之功.

maven打包的时候将依赖的jar包也打进去

最近在改造底层一个utils项目的时候,再将lib工程转maven项目后,打包丢了相关依赖;


之前lib工程的时候是需要借助第三方fatjar的,现在转maven后相关依赖全部丢失;


基于当前工程已经被很多项目引用,这里谋求一个新的出路,希望用maven插件也能将相关依赖打包进去!


现在有两种办法:

首先需要一个启动类,类在启动的时候把相关的依赖都初始化进去




方法一:使用插件maven-shade-plugin

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

这样打出来的包ToolHelper-0.0.1-SNAPSHOT.jar和original-ToolHelper-0.0.1-SNAPSHOT.jar

original-是原始包就是不含第三方jar的,另一个是含第三方jar的



方法二:使用插件maven-assembly-plugin

<!-- Maven Assembly Plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<version>2.4.1</version>
				<configuration>
					<!-- get all project dependencies -->
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
					<!-- MainClass in mainfest make a executable jar -->
					<archive>
						<manifest>
							<mainClass>util.Microseer</mainClass>
						</manifest>
					</archive>

				</configuration>
				<executions>
					<execution>
						<id>make-assembly</id>
						<!-- bind to the packaging phase -->
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

这样打出来的包:ToolHelper-0.0.1-SNAPSHOT-jar-with-dependencies.jar和ToolHelper-0.0.1-SNAPSHOT.jar

jar-with-dependencies是包含第三方的jar,另一个是不含的!


最终效果:


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xb12369/article/details/79966633
文章标签: maven fatjar
个人分类: Maven
想对作者说点什么? 我来说一句

使用maven将项目打成jar包

dlf123321 dlf123321

2016-05-02 22:29:53

阅读数:15970

没有更多推荐了,返回首页

不良信息举报

maven打包的时候将依赖的jar包也打进去

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭