-
[SpringBoot] SpringBoot 서버에 배포하기프로그래밍/Java 2023. 6. 4. 00:12반응형
1. 상황
로컬(데스크탑)에서 개발중인 SpringBoot 프로젝트를 서버로 옮겨서 배포하려고 한다. jar파일만 옮기기 보다는, 소스를 서버에 업데이트 하고 linux 환경에서 배포까지 하려고 한다. 현재는 NodeJS로 서버가 돌아가고 있는데, 스프링부트로 교체.
2. 진행
Java11 버전을 openJDK로 설치했는데, 설치하고 보니, 소스설치로 빌드했었음.
sudo /bin/bash ./gradlew tasks
자바버전이 안맞는 모양. 프로젝트는 11버전으로 되어 있는데, 서버는 JDK 1.8버전이다. 어떻게 해야 할까
https://ivvve.github.io/2019/07/12/java/ETC/different-jdk-build/
여길 참고 했다.
처음에는
sudo /bin/bash ./gradlew build -Dorg.gradle.java.home='/home/내user명/java11'
이런식으로 했었는데, 사실 상관없다. java11안에 폴더가 하나 들어가 있던게 문제였다. bin 폴더가 있는 바로 하위 까지 경로를 적어야 한다.
아니면 위 포스트처럼 gradle.properties 파일을 만들어도 된다. gradle 실행시에 값을 읽고 시작하는 듯 하다.
좀 다른 오류가 나왔다.
찢어지게 가난해.. 큰 메모리의 서버를 쓸 수 없어 유감이라는 뉘앙스의 에러. 눈물을 흘리고 말았다.
그리고 한줄 추가
org.gradle.jvmargs=-Xmx256m
test가 실패한것 같다.
메모리 때문이라고 하는데. 아예 테스트를 스킵해버리기로 했다.
sudo /bin/bash gradlew build -x test --no-daemon
그리고 성공. --debug를 붙이면 로그가 찍혀서 원인을 더 잘 알수 있다.
성공 한 뒤. build라는 폴더가 생기는데, 거기서 libs/어쩌구-0.0.1-SNAPSHOT.jar 같은게 생기면
java -jar 어쩌구-0.0.1-SNAPSHOT.jar
로 실행하면 된다!
PS. Build했던 JAVA_HOME에 해당하는 java로 실행해야 한다. 버전을 맞추기 위해서.
반응형'프로그래밍 > Java' 카테고리의 다른 글