1. 程式人生 > >maven打包的時候將依賴的jar包也打進去

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,另一個是不含的!

最終效果:


相關推薦

maven打包的時候依賴jar進去

最近在改造底層一個utils專案的時候,再將lib工程轉maven專案後,打包丟了相關依賴;之前lib工程的時候是需要藉助第三方fatjar的,現在轉maven後相關依賴全部丟失;基於當前工程已經被很多專案引用,這裡謀求一個新的出路,希望用maven外掛也能將相關依賴打包進去

maven 依賴jar打包

meet the same problem, I solved it by build the jar with dependencies. add the code below to pom.xml <build> <sourceDirectory>src/main/j

maven打包時候依賴jar打入

Java的jar包太多了,有時候我們為了方便執行,希望把所有引用的jar包打包到一起。 <plugins> <plugin> <artifactId>maven-assembly-plug

頹廢的悠然 maven打包成第三方jar且把pom依賴打入進來

頹廢的悠然 maven打包成第三方jar包且把pom依賴包打入進來 <build> <plugins> <plugin> <ar

IntelliJ IDEA 的maven工程本地jar到war

pom.xml檔案修改: <groupId>com.borya</groupId> <artifactId>Project</artifactId> <version>0.0.1-SNAPSHOT</version> <

maven專案匯入依賴jar打包為可執行的jar

1.在pom.xml檔案中新增外掛 <build> <finalName>LeadServer</finalName> <!-- jar包名字首,如果沒有指定,則會使用{artifactId}作為字首 --> <plugins>

Maven專案連同其依賴jar一同jar,並執行入口類

需求: 在我本地的電腦上存在一個maven工程,在pom檔案中依賴了一些第三方jar包。現在需要把工程打成jar包,然後放到linux伺服器中執行。 因此i,現在就需要在打jar包的同時既要指定執行

利用MAVEN打包可執行jar,包括依賴的第三方

看下專案pom.xml的配置,首先要配置maven-jar-plugin,把自己的程式碼編譯打包成jar檔案,然後配置maven-assembly-plugin,把整個專案打包成一個釋出包。 Xml程式碼  收藏程式碼 <build>       <pl

maven無法載入本地jar以及maven專案打包後本地jar沒有進專案的問題解決辦法

1、首先設定依賴項,這樣maven就會把該路徑下的jar包匯入專案引用 <dependency> <groupId>DPSDK-Manager</groupId&g

maven打包可執行jar

version 打開 print cto tid directory tor group XML 創建一個文件夾haha,裏面包含三項 Haha.java Main.java pom.xml pom.xml <?xml version="1.0"

mavenjar、war的時候本地jar沒有進去

問題描述: maven打jar、war的時候本地jar包沒有打進去 <resources> <resource> <directory>lib</directory> <targetPath>BOOT-INF/

IDEA使用之讓maven專案自動依賴jar

作者:龍丿一  來源:CSDN  原文:https://blog.csdn.net/wuyanshen2012/article/details/76985225  當我們用manven構建專案的時候,我們在pom.xml中刪除一個依賴或者新增一個依賴,

spring boot maven打包可執行jar

普通打包之後在程式目錄執行,或者編寫bat執行時會提示“沒有主清單屬性”,這是因為並沒有找到main()方法,需要我們指明告訴java程式 我bat中的程式碼 @echo off title mytitle java -jar ysl-ts-web-base-1.0-SNAPSHOT.jar pause

maven 打包可執行jar

Maven可以使用mvn package指令對專案進行打包,如果使用Java -jar xxx.jar執行執行jar檔案,會出現"no main manifest attribute, in xxx.jar"(沒有設定Main-Class)、ClassNotFou

Maven打包依賴war/Zip 並解壓至指定目錄的pom配置

首先配置依賴,引入需要依賴的war包和zip包: <dependency> <groupId>com.huawei.mateinfo</groupId> <artifactId>kewen-common-w

maven手動安裝依賴jar到本地庫和遠端庫

首先,推薦幾個好的 Maven 常用倉庫網址:http://mvnrepository.com/http://search.maven.org/http://repository.sonatype.org/content/groups/public/http://peopl

IntelliJ IDEA 配置maven並匯入依賴jar

Dependency ‘com.taobao.ali.resource:taobao.support.resource:3.1.0.RELEASE’ not found 在用IntelliJ IDEA 開啟一個專案時,pom.xml檔案報錯。 com.t

maven打包包含本地jar

maven工程中,在pom檔案中配置依賴包。但是在開發中,要做使用華為、小米、信鴿推送,這些jar沒有pom配置地址,只能本地引用。在eclipse中可以在build path中新增jar包,但是單獨編譯maven工程時,就會報錯。 解決方法:在pom檔案中新增如下配置,可

IDEA maven 無法下載依賴 jar, pom.xml 報錯

專案的pom.xm中檔案中一直下載依賴不成功,首先懷疑是沒有下載到本地的中央倉庫內,開啟.m2/repository/,找到自己下載的 jar,發現已經在裡面了,也就是下載到本地的中央倉庫了,然後

Maven打包可支援jar的幾種方式

Maven打包可執行Jar的幾種方法 一、無依賴其他任何jar <build><finalName>DtuServer-alone</finalName><plugins><plugin><groupI