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
- python 기초
- gradle
- spring Annotation
- python
- scrapy
- Vue 배우기
- Vue
- AES256
- docker 명령어
- 애드센스 수익
- JDK1.3
- spring boot 시작
- Spring Batch
- Vue 강의
- intelliJ plugin
- MYSQL
- Python 기본편
- docker mysql
- docker
- Vue 알아보기
- 미국 배당주
- Spring Batch 강의
- 구글 애드센스 수익
- 티스토리 광고 수익
- 젠킨스
- IntelliJ
- apache log4j
- 도커
- 미국주식
- Spring
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 |