본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/JAVA

[java] jar빌드 및 실행(Gradle)

by 미노드 2023. 12. 26.

JAR (Java Archive) 

형식으로 자바 프로젝트, 또는 스프링 부트 프로젝트를 만들었을 때 실행하기 위한 jar 파일로 빌드해야 하는 경우가 있습니다.

크게 두가지 방법이 있습니다.

1-1. IDE 프로그램(intellij나)를 통해서 jar로 만드는 방법
1-2. IDE 프로그램(intellij나)를 통해서 jar로 만드는 방법
2. Command로 jar로 만드는 방법(별도 빌드도구가 설치되어 환경변수로 참조 할 수 있도록 등록되어 있어야합니다.)
3. jar 실행(리눅스나 윈도우에서 jar을 실행합니다. spring boot일 경우 tomcat이 내장되어 있어 설정된 포트로 실행 후 확인이 용이합니다.)

1-1 intelliJ

IntelliJ IDE 를 사용할 경우 우측 Gradle 항목을 클릭후 Tasks/build/에서 jar더블클릭 시 Jar 파일로 빌드가 진행됩니다.
spring boot 프로젝트일 경우 bootjar 이 있을텐데 클릭해도 됩니다.

빌드가 완료되면 프로젝트의 build 폴더에서 jar파일을 확인할 수 있습니다.

빌드시 다른 모듈 참조해서 dependency 추가 후 빌드 하고 싶은 경우라면 다음처럼 옵션에서 dependency 추가해서 업로드 합니다.

1-2 eclipse

이클립스에서 gradle 기반 프로젝트를 생성한 뒤, run as 설정을 클릭합니다.

다음 Gradle Task 영역에서 jar를 입력(spring boot일 경우 bootjar 입력) 후
Working Directory 에서 실행파일 이 있는 디렉토리 선택 후 apply 및 run 실행

또는 아래 화면에서 jar 또는 bootjar를 클릭합니다.

뒤에 run을 실해앟며 아래처럼 lib경로에 jar이 생성됩니다.

https://cocococo.tistory.com/entry/Spring-Boot-Spring-Initializr-%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B6%80%ED%8A%B8-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1-%EB%B0%A9%EB%B2%95%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4

스프링부트 프로젝트 이클립스 넣기 참고블로그

 

[Spring Boot] Spring Initializr 스프링 부트 프로젝트 생성 방법(이클립스)

스프링 부트 프로젝트 생성 1. Spring Initializr로 Spring Boot 프로젝트 생성하기. 1-1) https://start.spring.io/ 링크 이동 원하는 옵션 및 버전 선택할 수 있다. 1) ADD DEPENDENCES를 클릭하여 사용하고자 하는 라

cocococo.tistory.com

2. 명령어 기반 gradle build 실행

- IDE의 힘을 빌릴 수 없는 경우가 있습니다.

프로젝트 경로 진입 

cd [Directory]

ls 명령어를 사용하면 gradlew 파일을 확인할 수 있습니다.

빌드 실행 [리눅스, 터미널]

./gradlew bootjar

* [windows] 사용자의 경우 (CMD)

./gradlew.bat bootjar

jar 파일이 빌드되어 있는 Directory 이동

* Jar 빌드시 파일이름은 build.gradle 파일 내부 Version 에 설정된값 적용됩니다.-> 프로젝트명-0.0.1-SNAPSHOT.jar 파일명으로 빌드된다. (변경을 원할시 build.gradle 내부 version 설정값 변경!)

3. jar 실행

java -jar [ jar name ].jar 명령어로 jar 파일을 실행합니다.

옵션은 -Xms와 -Xmx로, -Xms는 application 실행 시 초기의 heap memory의 크기를 설정하며, -Xmx는 application 사용중 최대 이용할 수 있는 heap memory의 크기를 설정하는 옵션입니다.
jar 실행시 heap Memory를 수동으로 설정해서 실행도 가능하니 참고부탁드립니다.
예시 (java -jar -Xms128m -Xmx256m  [ jar name ].jar    최소 메모리는 64M를, 최대 메모리는 128M로 설정해서 실행합니다.)