Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- JDK1.3
- intelliJ plugin
- docker 명령어
- 구글 애드센스 수익
- Vue 강의
- spring Annotation
- 티스토리 광고 수익
- gradle
- spring boot 시작
- docker mysql
- Spring Batch 강의
- 미국주식
- 애드센스 수익
- MYSQL
- scrapy
- Vue 배우기
- apache log4j
- 주식용어
- Vue
- Python 기본편
- Spring Batch
- python 기초
- AES256
- 미국 배당주
- Spring
- python
- docker
- 젠킨스
- Vue 알아보기
- 도커
Archives
나만의공간
3. Gradle을 이용한 JVM Libraries 생성법 본문
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