谢彬の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
上一篇Eclipse设置类,方法注释模版
下一篇idea设置项目的编码UTF-8
想对作者说点什么? 我来说一句

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

关闭
关闭