728x90
반응형

 

Spring Boot 의 강점은 내장 서버가 있어 실행 가능한 Jar 파일을 만들어 배포가 쉽습니다.

 

Spring Boot의 많은 의존성 Library 와 사용자가 추가한 Library 를 하나의 Jar파일로 패키징 해준다는게 정말 대단한것 같습니다.

 

Spring Boot + Gradle 프로젝트를 생성하면 기본 Jar 를 배포할 수 있도록 설정이 되어있습니다.

 

 

 

 

Jar 파일로 생성할 때에는 로컬 환경과 동일하며 따로 설정이 필요없다는 장점이 있습니다.

 

SpringBootTest 라는 프로젝트를 생성했을때 만들어지는 프로젝트명Application 에서 내장톰켓을 사용하는데 이대로 Jar 로 빌드하면 됩니다.

 

package com.gigas;



import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;



@SpringBootApplication

public class SpringBootTestApplication {



    public static void main(String[] args) {

        SpringApplication.run(SpringBootTestApplication.class, args);

    }

}

 

 

 

 

 

build.gradle 에서 jar 생성관련 설정을 할 수 있습니다.

 

Name 과 Version, File Name 등을 설정할 수 있으며 따로 설정이 없다면 프로젝트명 + Version 이 붙어서 생성됩니다.

 

bootJar {

    archiveBaseName = '-'

    archiveFileName = '-.jar'

    archiveVersion = "0.0.0"

}

 

 

 

 

준비는 끝났으며 Jar 를 만들어줍니다.

 

CLI 터미널에서 명령어로 생성해보겠습니다.

 

만들어준 SpringBootTest 경로로 들어갑니다.

 

Spring Boot 를 Jar로 생성하기 때문에 bootJar 명령어롤 통해 Jar 를 생성합니다.

 

 

 

 

빌드가 성공하면 프로젝트 경로로 들어가서 확인할 수 있습니다.

 

build > libs 안에 jar 파일이 생성됨을 알 수 있습니다.

 

 

 

IntelliJ 에서는 Gradle 탭에서 간단하게 생성이 가능합니다.

 

Tasks > build 안에 실행가능한 bootJar 스크립트를 더블클릭하면 됩니다.

 

 

 

정상적으로 실행이 되면 아래와 같은 문구가 보여질 것입니다.

 

 

 

 

실행가능한 Jar 파일을 생성했으니 실행하는 방법을 알아보겠습니다.

 

간단합니다. java -jar JarName.jar 명령어로 실행 할 수 있습니다.

 

그러면 아래와 같이 같은 로컬환경이지만 실행가능한 Jar 로 배포를 한것입니다.

 

 

http://localhost:8080 으로 접속했습니다.

 

port 를 따로 지정했을시 port만 바꿔서 접속 가능합니다. 

 

개인 서버가 있으시다면 업로드 후에 동일하게 명령어를 입력하면 정상적으로 실행되는것을 확인할 수 있습니다.

 

실행하기전에 로컬에 띄워져있는 서버와 Port 가 충돌날 가능성이 높으니 주의하시기 바랍니다.

 

728x90
반응형
728x90
반응형

 

Spring Boot Project 를 만들면 Maven 이나 Gradle이 기본적으로 설치되어있습니다.

 

다양한 library 을 쉽고 간편하게 가져와서 쓸수 있지만 외부와의 통신을 허용하지 않는 개발 환경이 있기도 합니다.

 

이럴때에는 외부 Jar 를 등록시켜야 하는데요.

 

Gradle 에서 외부 Jar를 등록해보도록 하겠습니다.

 

 

 

 

 

이전에 소개했던 Virtual Key를 기준으로 진행하겠습니다.

 

https://gigas-blog.tistory.com/101

 

[Java] Webponent Virtual Key 샘플 구현

이전에 소개했던 가성비 좋은 HTML 기반 보안키패드를 구현해보려고 합니다. https://gigas-blog.tistory.com/100 WebPonent Virtual Key - HTML 보안 키패드 웹과 하이브리드 앱에서 사용할 수 있는 보안키패드를..

gigas-blog.tistory.com

 

 

 

 

등록 방법은 아래와 같습니다.

 

1. gradle 프로젝트를 생성합니다.

 

2. 프로젝트 경로에 libs 라는 폴더를 생성합니다.

3. build.gradle 파일을 열어서 dependencies 부분에 함수를 호출합니다.

 

dependencies {

	// libs 폴더 특정 jar 파일 스캔
    implementation files('libs/eltz-keypad.jar')

    // libs 폴더 전체 jar 파일 스캔
    implementation fileTree(dir: 'libs', include: '*.jar')

...
}

 

4. gradle 을 동기화 합니다.

 

 

 

프로젝트 경로에 libs 파일을 생성하고 jar파일을 넣어 files() 라는 함수로 특정 jar만 스캔할 수 있습니다.

 

하지면 여러개의 jar 파일을 스캔한다면 매번 등록을 해줘야하는 번거로움이 있습니다.

 

그럴때에는 fileTree 함수를 사용해서 jar 파일을 전체 스캔하는 방법을 사용합니다.

 

 

 

 

어렵지 않은 작업이지만 정보가 없다면 어렵게 느껴질 수 있습니다.

 

더 많은 정보를 올릴수 있도록 노력하겠습니다.

 

728x90
반응형

+ Recent posts