개발자의 오르막
Java - compile 본문
# java compile의 이해
- fastcampus 폴더 생성
- notepad Main.java → 해당 위치에 Main.java 란 메모장 생성
public class HelloMainCheck {
public static void main(String[] args) {
System.out.println("Hello");
}
}
- javac Main.java → 컴파일
- java Main → 자바실행
- fastcampus.co.kr 의 도메인 역순으로 패키지 생성
- package kr.co.fastcampus; java 파일안에 입력
-cp : classpath 의미
# jar의 이해
- 아카이빙 : 여러 파일을 하나의 파일로 묶는 것
manifest.txt 파일 생성
Main-Class : kr.co.fastcampus.Main (공백)(공백) 입력 후 저장
jar -c -m manifest.txt -f fastcampus.jar.kr\* 로 jar파일 생성
java -jar fastcampus.jar
# logback
- https://logback.qos.ch/download.html 에 접속
- kr / co / fastcampus 폴더에 lib 폴더 생성
logback-classic.jar / logback-core.jar / slf4j-api.jar 파일 복사
- 위의 Main.java 파일을 아래와 같이 편집한다.
package kr.co.fastcampus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
private static Logger logger = LoggerFactory.getLogger(Main.class);
public static void main(String[] args) {
logger.info("Hello world!");
}
}
- 컴파일을 하기 위해서는 라이브러리를 포함하여 명령어를 입력해야 한다.
- java 실행을 위해서도 import 하고 있는 라이브러리 경로들을 추가시켜줘야 한다.
- jar 파일에 적용하기 위해서 manifest.txt 파일도 수정 필요
Class-Path: lib\logback-classic.jar lib\logback.core.jar lib\slf4j-api.jar
추가
- 외부라이브러리를 참조했음으로, jar 파일을 생성할 때 lib\* 으로 추가
* jar 파일 실행 에러..
- java -jar fastcampus.jar 을 실행시 아래와 같은 에러가 발생
- jar 파일 안에 lib 디렉터리가 잘 포함되었는지, check
- manifet.txt 파일에서 classpath 한 파일명 순서를 바꿨더니 됨.
# logback
- https://logback.qos.ch/manual/index.htmlhttps://logback.qos.ch/
logback 홈페이지 → Documentation → The logback manual → Configulation
- 해당 xml 파일 설정을 복사
- fastcampus 위치에 loback.xml 파일을 생성 후 위의 태그를 입력
- https://logback.qos.ch/manual/architecture.html 에서
root level, 등 정보 확인
- logbac.xml jar파일에 생성
* root level 부분을 debug가 아닌 error로 표시하면 레벨이 안 맞아 출력이 안됨
'Java' 카테고리의 다른 글
[Log4j 1.2.16-ver Json Layout 적용기 #02] 기존 공통 라이브러리 의존성에 따른 Log4j2 Mig 이슈 (0) | 2022.07.11 |
---|---|
[Log4j 1.2.16-ver Json Layout 적용기 #01] 로그 개선 방향 선정 (0) | 2022.07.04 |
Java - IO 예외처리 (0) | 2019.07.25 |
Java-예외처리 (0) | 2019.07.25 |
자료형 변수 (0) | 2019.07.18 |