Рубрики
Без рубрики

Создайте файл fat Jar – плагин сборки Maven

– Создайте файл fat Jar – Плагин сборки Maven

В этом уроке мы покажем вам, как создать банку fat/uber с помощью плагина сборки Maven. Это означает, что создайте банку вместе с ее банками зависимостей в один исполняемый файл Jar.

  1. Плагин Maven shade/| решите эту проблему, используя такую технику, как перемещение класса . Плагин Maven one-jar
  2. , добавьте файл jar зависимостей непосредственно в jar проекта и загрузите его с помощью пользовательского загрузчика классов.

1. Просмотрите проект Java

Предыдущий проект Java ( dateutils ) будет использован повторно, см. Следующую структуру папок

2. Предыдущий проект Java (||dateutils||) будет использован повторно, см. Следующую структуру папок

Прочитайте комментарий ниже для пояснения.


	4.0.0
	com.mkyong.core.utils
	dateUtils
	jar
	1.0-SNAPSHOT
	dateUtils
	http://maven.apache.org

	
		1.7
		2.5
		4.11
	

	
		
			junit
			junit
			${junit.version}
			test
		
		
			joda-time
			joda-time
			${jodatime.version}
		
	

	
		dateutils
		

			
			
				org.apache.maven.plugins
				maven-eclipse-plugin
				2.9
				
					true
					false
				
			

			
			
				org.apache.maven.plugins
				maven-compiler-plugin
				2.3.2
				
					${jdk.version}
					${jdk.version}
				
			

			
			
				org.apache.maven.plugins
				maven-assembly-plugin
				2.4.1
				
					
					
						jar-with-dependencies
					
					
					
					  
						com.mkyong.core.utils.App
					  
					

				
				
				  
					make-assembly
                                        
					package 
					
						single
					
				  
				
			

		
	


3. Пакет Оно

Выше “Плагин сборки Maven” привязан к фазе упаковки Maven, чтобы создать окончательную банку, просто упакуйте ее:

$ mvn package

[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ dateUtils ---
[INFO] Building jar: /Users/mkyong/dateUtils/target/dateutils.jar
[INFO] 
[INFO] --- maven-assembly-plugin:2.4.1:single (make-assembly) @ dateUtils ---
[INFO] Building jar: /Users/mkyong/dateUtils/target/dateutils-jar-with-dependencies.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.325s
[INFO] Finished at: Tue Oct 21 13:44:41 MYT 2014
[INFO] Final Memory: 17M/42M
[INFO] ------------------------------------------------------------------------

В папке target будут созданы два файла jar.

  1. dateutils.jar – Только ваши классы проектов
  2. dateutils-jar-with-dependencies.jar – Классы проектов и зависимостей в одной банке.

4. Просмотрите Его

Перечислите содержание dateutils-jar-with-dependencies.jar

$ jar tf target/dateutils-jar-with-dependencies.jar 

META-INF/
META-INF/MANIFEST.MF
org/
org/joda/
org/joda/time/
org/joda/time/base/
org/joda/time/chrono/
org/joda/time/tz/ZoneInfoCompiler$DateTimeOfYear.class
org/joda/time/tz/ZoneInfoCompiler$Rule.class
org/joda/time/tz/ZoneInfoCompiler$RuleSet.class
org/joda/time/tz/ZoneInfoCompiler$Zone.class
org/joda/time/tz/ZoneInfoCompiler.class
org/joda/time/tz/ZoneInfoProvider.class
org/joda/time/UTCDateTimeZone.class
org/joda/time/Weeks.class
org/joda/time/YearMonth$Property.class
org/joda/time/YearMonth.class
org/joda/time/YearMonthDay$Property.class
org/joda/time/YearMonthDay.class
org/joda/time/Years.class
META-INF/maven/
META-INF/maven/joda-time/
META-INF/maven/joda-time/joda-time/
META-INF/maven/joda-time/joda-time/pom.xml
META-INF/maven/joda-time/joda-time/pom.properties
com/
com/mkyong/
com/mkyong/core/
com/mkyong/core/utils/
com/mkyong/core/utils/App.class
META-INF/maven/com.mkyong.core.utils/
META-INF/maven/com.mkyong.core.utils/dateUtils/
META-INF/maven/com.mkyong.core.utils/dateUtils/pom.xml
META-INF/maven/com.mkyong.core.utils/dateUtils/pom.properties
Manifest-Version: 1.0
Built-By: mkyong
Build-Jdk: 1.7.0_05
Created-By: Apache Maven 3.1.1
Main-Class: com.mkyong.core.utils.App
Archiver-Version: Plexus Archiver

Запустите его

$ java -jar target/dateutils-jar-with-dependencies.jar 

2014-10-21

Скачать Исходный Код

Рекомендации

  1. Плагин сборки Apache Maven
  2. Создайте Файл Fat Jar – Пример Maven С одной БАНКОЙ
  3. Плагин тени Maven
  4. Как создать файл jar с помощью Maven

Оригинал: “https://mkyong.com/maven/create-a-fat-jar-file-maven-assembly-plugin/”