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

Ant – Как Создать Файл Jar с внешними библиотеками

– – И – Как Создать Файл Jar с внешними библиотеками

В этом уроке мы покажем вам, как использовать сценарий сборки Ant для создания файла Jar и работы с внешними библиотеками/зависимостями проекта.

Используемые технологии:

  1. Затмение 4.2
  2. JDK 1.7
  3. Муравей 1.9.4
  4. Муравей-Плющ 2.4
  5. обратный вход 1.1.2
  6. джода-время 2,5

P.S Предыдущий Проект Ant Java будет использоваться повторно.

1. Структура проекта

Рисунок 1.1: Окончательная структура каталогов проекта в среде IDE Eclipse.

2. Проект Java + Внешние Библиотеки

В среде IDE Eclipse снова откройте предыдущий проект Java И DateUtils , обновите исходный код, чтобы использовать обратный вход и время джоды .

package com.mkyong.core.utils;

import org.joda.time.LocalDate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class DateUtils {

	private static final Logger logger = LoggerFactory.getLogger(DateUtils.class);
	
	public static void main(String[] args) {

		logger.debug("[MAIN] Current Date : {}", getLocalCurrentDate());
		System.out.println(getLocalCurrentDate());
		
	}

	private static String getLocalCurrentDate() {
	
		LocalDate date = new LocalDate();
		return date.toString();
		
	}

}

Создайте logback.xml и поместите его в папку проекта src . См. рисунок 1.1



 
	
	  
 
		
			ANT + LogBack : %-5level %logger{36} - %msg%n
		
 
	  
	
 
	
	  
	
 

3. Ivy – Получить Внешние Библиотеки

Мы используем Apache Ivy для получения внешних библиотек/зависимостей проекта.

3.1 Создайте этот файл ivy.xml :


	
	
		
		
		
	

3.2 Обновление build.xml , добавьте пространство имен ivy сверху и задачу “ivy”, чтобы загрузить модуль ivy, и задачу “разрешить”, чтобы попросить модуль Ivy загрузить внешние библиотеки.



	
	
	
		
	

	
	
		
		
	
	


В первый раз загрузите модуль ivy из центрального репозитория Maven в локальный ${user.home}/.ant/lib/ivy.jar .

$ ant ivy

Чтобы загрузить внешние библиотеки, запустите задачу “разрешить”. Объявленные библиотеки будут загружены в папку проекта lib .

$ ant resolve

4. Объявленные библиотеки будут загружены в папку проекта ||lib||.

Просмотрите обновленную build.xml скрипт, прочитайте комментарии для пояснения.

Основные моменты:

  1. Управляйте внешними библиотеками проекта с помощью Apache Ivy, просмотрите пространство имен ivy сверху и выполните задачу “разрешить”.
  2. Чтобы скомпилировать исходный код, вам необходимо указать путь к классу. Просмотрите задачу “компиляция” и атрибут “classpathref”.
  3. В задаче “jar” создает весь список внешних библиотек и помещает его в файл manifest.mf .
  4. В задаче “jar” jar проекта будет упакован в папку “dist”, а все внешние библиотеки будут скопированы из “лаборатории” в “dist/lib”.

	
		Create a Java Project (JAR) with Ant build script
	

	
	
	
	
	
	
	

	
	
	
		
	

	
	
		
		
	
	

	
		
	

	
	
		
			
			
			
		
	

	
	
		
	

	
	
		
		
			
				
				
			
		
	

	
		
			
		
	

	
	

		

		
		

		
			
				
				
			
		
	

	
		
		
	

	
	


5. Тест

Протестируйте проект Java с помощью сценария сборки Ant.

5.1 Встряхните его.

$ pwd
/Users/mkyong/Documents/workspace/AntDateUtils

$ ant
Buildfile: /Users/mkyong/Documents/workspace/AntDateUtils/build.xml

clean:
   [delete] Deleting directory /Users/mkyong/Documents/workspace/AntDateUtils/bin
   [delete] Deleting directory /Users/mkyong/Documents/workspace/AntDateUtils/dist

init:
    [mkdir] Created dir: /Users/mkyong/Documents/workspace/AntDateUtils/bin

compile:
    [javac] Compiling 1 source file to /Users/mkyong/Documents/workspace/AntDateUtils/bin

copy-dependencies:
     [copy] Copying 12 files to /Users/mkyong/Documents/workspace/AntDateUtils/dist/lib

jar:
     [echo] classpath.name : ... lib/joda-time-2.5.jar lib/logback-classic-1.1.2.jar lib/logback-core-1.1.2.jar lib/mail-1.4.jar ...

      [jar] Building jar: /Users/mkyong/Documents/workspace/AntDateUtils/dist/DateUtils.jar

main:

BUILD SUCCESSFUL
Total time: 1 second

5.2 Проверяет созданный файл jar.

$ jar -tf dist/DateUtils.jar 

META-INF/
META-INF/MANIFEST.MF
com/
com/mkyong/
com/mkyong/core/
com/mkyong/core/utils/
com/mkyong/core/utils/DateUtils.class
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.7.0_05-b05 (Oracle Corporation)
Main-Class: com.mkyong.core.utils.DateUtils
Class-Path: lib/activation-1.1.jar lib/commons-compiler-2.6.1.jar lib/
 geronimo-jms_1.1_spec-1.0.jar lib/groovy-all-2.0.7.jar lib/janino-2.6
 .1.jar lib/joda-convert-1.2.jar lib/joda-time-2.5.jar lib/logback-cla
 ssic-1.1.2.jar lib/logback-core-1.1.2.jar lib/mail-1.4.jar lib/servle
 t-api-2.5.jar lib/slf4j-api-1.7.6.jar

5.3 Запустите файл Jar.

$ pwd
/Users/mkyong/Documents/workspace/AntDateUtils

$ java -jar dist/DateUtils.jar 

16:28:43.957 [main] DEBUG com.mkyong.core.utils.DateUtils - [MAIN] Current Date : 2014-11-21
2014-11-21

5.4 Снова запустите файл Jar, используя logback.xml .

$ pwd
/Users/mkyong/Documents/workspace/AntDateUtils

$ java -jar -Dlogback.configurationFile=src/logback.xml dist/DateUtils.jar

16:34:43,746 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [src/logback.xml] at [file:/Users/mkyong/Documents/workspace/AntDateUtils/src/logback.xml]
//...

ANT + LogBack : DEBUG com.mkyong.core.utils.DateUtils - [MAIN] Current Date : 2014-11-21
2014-11-21

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

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

  1. Официальное руководство Apache Ant Hello World
  2. Как Создать Файл Jar С Помощью Maven
  3. Задача муравьиной банки
  4. Задача копирования муравьев

Оригинал: “https://mkyong.com/ant/ant-how-to-create-a-jar-file-with-external-libraries/”