CentOS9 putty에서 java openJDK17을 설치하고 jar를 이용해서 java를 실행해보는 실습을 했다.
jar 란?
컴파일 된 자바 소스코드들이 들어있는 압축 파일이다.
jar 파일의 종류 1 : executable jar
- 그 자체로 실행이 가능하다.
- 실행에 필요한 것들을 압축파일안에 많이 넣을 수록, 점점 더 다양한 환경에서 실행될 수 있게 된다.
- 실행에 필요한 모든것을 넣을 수도 있다.
- 많이 넣을 수 록 용량은 커진다.
- 그렇지만 그렇게 만들어진 jar 파일은 거의 어디에서나 실행 할 수 있다.
jar 파일의 종류 2 : lib jar
- 그 자체로 실행파일이 아닌 경우가 많다.
- 보통 다른 프로젝트에 종속되어 사용된다.
- 참고로 lib 들은 종속성 TREE로 묶인다.
- 예를들어 A 라이브러리가 라이브러리 B와 C에 의존한다고 가정했을 때
- 인텔리제이 같은 IDE 환경에서 개발자가 A 라이브러리를 설치하려는 의도가 있다면,
- 인텔레제이가 알아서 라이브러리 B와 C도 자동으로 설치해 준다.
- 사실 maven과 gradle이 이 역할을 수행한다.
jar 파일의 종류 2 : war
- executable jar의 한 종류이지만, 톰캣이 빠져있다.
- 그 이유는 어차피 war는 톰캣내부에 삽입되기 때문이다.
- 스프링부트에서는 프로그램을 배포할 때 jar, war 2개의 선택지가 존재한다.
- jar로 하면 기존의 war에 내장톰캣까지 넣는다.
- 이렇게하면 자바만 설치되어 있고 톰캣이 없는 환경에서도 우리 프로그램을 실행할 수 있다.
컴파일, Main.class 생성
Main.class 실행
Reference
https://korbillgates.tistory.com/168