관리 메뉴

나만의공간

3. Gradle을 이용한 JVM Libraries 생성법 본문

Tools/Gradle

3. Gradle을 이용한 JVM Libraries 생성법

밥알이 2017. 3. 16. 10:12

1. Building JVM Libraries

Gradle을 이용하여 JVM Library를 구성하는 방식 입니다.
저번장에 설치된 구성요소만 준비되어 있으면 됩니다.

2. 프로젝트 폴더 생성

$ mkdir mylib
$ cd mylib
$ mkdir -p src/main/java/org/example/mylib

신규 Greeter.java 파일 생성
src/main/java/org/example/mylib/Greeter.java

package org.example.mylib;

public class Greeter {
    private String name;

    public Greeter(String name) { this.name = name; }

    public String getGreeting() { return "Hello, " + this.name + "!"; }
}

java파일이 생성된 폴더에서 build.gradle 에  'java'가 plugin을 하도록 파일 생성

apply plugin: 'java'

아래 gradle명령어를 실행하면 jar파일 및 gradle설정 파일이 생성된다.

$ gradle jar
:compileJava
:processResources UP-TO-DATE
:classes
:jar

BUILD SUCCESSFUL

gradle에 의해 jar 파일이 생성된 내용이 있고

1. 자바 소스가 컴파일 된다.

2. 리소스 관련 파일도 처리가 된다.

3. 패키지된 jar파일이 있다.

잘 처리 되어있는지 확인하기 위하여 jar파일 내용을 본다.

$ jar tf build/libs/mylib.jar
META-INF/
META-INF/MANIFEST.MF
org/
org/example/ 
org/example/Greeter.class

 

META-INF폴더와 META-INF/MAINFEST.MF는 Greeter Class를 컴파일 하면 생성한 정보가 있다.

3. META-INF/MAINFEST.MF에 컴파일 정보 추가

MAINFEST.MF 파일에 JAVA 컴파일 관련 정보를 추가 할 수 있다.

build.gradle 파일을 열어 하기 내용을 추가 한다.

apply plugin: 'java'

version = '0.1.0'
jar {
    manifest {
        attributes('Implementation-Title': project.name,
                   'Implementation-Version': project.version)
    }
}

gradle명령어로 jar파일을 다시 생성한다.


$ gradle jar
$ jar xf build/libs/mylib-0.1.0.jar META-INF/MANIFEST.MF

생성된 META-INF/MAINFEST.MF 파일을 보면 설정된 정보가 추가 되어 있다.

Manifest-Version: 1.0
Implementation-Title: mylib
Implementation-Version: 0.1.0





'Tools > Gradle' 카테고리의 다른 글

Gradle(Maven) groupId / artifactId 란  (0) 2021.12.03
2. Gradle Build 신규생성법  (0) 2017.03.15
1. Gradle 설치  (0) 2017.03.08
Comments