1. 자바설치
- 자바 버전을 확인한다.
javac -version
javac --version
Command 'javac' not found, but can be installed with:
sudo apt install default-jdk # version 2:1.11-72, or
sudo apt install openjdk-11-jdk-headless # version 11.0.14+9-0ubuntu2~20.04
sudo apt install ecj # version 3.16.0-1
sudo apt install openjdk-16-jdk-headless # version 16.0.1+9-1~20.04
sudo apt install openjdk-17-jdk-headless # version 17.0.2+8-1~20.04
sudo apt install openjdk-8-jdk-headless # version 8u312-b07-0ubuntu1~20.04
sudo apt install openjdk-13-jdk-headless # version 13.0.7+5-0ubuntu1~20.04
javac를 찾을수 없다고 나오면, 아래의 명령어를 통해 자바를 설치한다.
여기서는 sudo apt install openjdk-11-jdk-headless를 통해 설치를 진행한다.
만약에 아래와 같은 오류가 나오면 sudo apt update를 통해 os를 업데이트 해줘야 한다.
Ign:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 openjdk-11-jre-headless amd64 11.0.11+9-0ubuntu2~20.04
Ign:2 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 openjdk-11-jdk-headless amd64 11.0.11+9-0ubuntu2~20.04
Err:1 http://security.ubuntu.com/ubuntu focal-updates/main amd64 openjdk-11-jre-headless amd64 11.0.11+9-0ubuntu2~20.04
404 Not Found [IP: 52.78.32.75 80]
Err:2 http://security.ubuntu.com/ubuntu focal-updates/main amd64 openjdk-11-jdk-headless amd64 11.0.11+9-0ubuntu2~20.04
404 Not Found [IP: 52.78.32.75 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/o/openjdk-lts/openjdk-11-jre-headless_11.0.11+9-0ubuntu2~20.04_amd64.deb 404 Not Found [IP: 52.78.32.75 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/o/openjdk-lts/openjdk-11-jdk-headless_11.0.11+9-0ubuntu2~20.04_amd64.deb 404 Not Found [IP: 52.78.32.75 80]
2. 설치확인
javac -version
javac --version
javac 11.0.14
3. $JAVA_HOME 설정되어있는지 확인
echo $JAVA_HOME
아무것도 나오지 않으면 설정이 되어 있지 않다고 보면 된다.
4. javac 위치 확인
which javac
which javac
/usr/bin/javac
아래 명령어를 입력하여 적용한다.
readlink -f /usr/bin/javac
readlink -f /usr/bin/javac
/usr/lib/jvm/java-11-openjdk-amd64/bin/javac
readlink 관관련내용 확인 아래 "더보기" 클릭
readlink: 심볼릭 링크의 원본 파일 확인
readlink -f: 심볼릭 링크를 따라 최종의 파일을 절대경로로 반환
-rw-rw-r-- 1 ubuntuvm ubuntuvm 5 Jan 24 22:54 a.txt
lrwxrwxrwx 1 ubuntuvm ubuntuvm 5 Jan 24 22:54 b.txt -> a.txt
lrwxrwxrwx 1 ubuntuvm ubuntuvm 5 Jan 24 22:55 c.txt -> b.txt
명령어: readlink c.txt 결과 b.txt
명령어: readlink b.txt 결과 a.txt
명령어: readlink -f c.txt 결과 /home/~~~/a.txt
4. $JAVA_HOME 설정
/etc/profile 하단에 내용추가
sudo vi /etc/profile
ex) export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
ex) export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.265.b01-1.amzn2.0.1.x86_64
해당 주소는 개개인의 서버 환경과 버전이 다르므로 각자의 환경에 맞게 설정 해야한다.
예를들어 현재 java파일의 위치를 확인하면 위에서 readlink -f /usr/bin/javac로 설정했던 /usr/lib/jvm 안에 존재 한다.
해당 파일에서 파일명과 경로를 복사하여 $JAVA_HOME에 설정해주면 된다.
아래의 경로를 /etc/profile 하단 추가 후 재 접속하면 빌드가 된다.
/usr/lib/jvm/java-11-openjdk-amd64
5. SSH로 재접속 후 echo 명령어로 확인
ubuntu@ip-10-100-0-32:~$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.265.b01-1.amzn2.0.1.x86_64
6. java 리소스 빌드 with docker image
해당 리소스 파일 경로에서 아래 명령어로 빌드 수행
./gradlew build
빌드가 완료 후 jar 파일 경로를 dockerfile과 일치 시킴
추가 : gradlew로 빌드를 한다는것은 해당 소스를 실행하기위해 jar로 묶어서 하나의 파일로 만들어 준다고 보면 된다. 그리고 docker는 결국 이 jar 파일을 실행한다고 보면 된다.
추가: 만약 ./gradlew build로 빌드 수행시 아래와 같이 오류가 발생 한다면 chmod를 활용하여 실행 권한을 조정해야 한다.
-bash: ./gradlew: Permission denied
권한 조정
chmod 755 gradlew
권한 조정 후 빌드 수행하면 정상적으로 진행 된다.
끝.
'⭐ SpringBoot > build (Gradle, Dependency 설정 등)' 카테고리의 다른 글
수동으로 빌드하기 with shellscript (0) | 2023.09.18 |
---|---|
Springboot에서 DB를 변경하기 (H2 DB application.properties 수정 및 Dependency 추가) (0) | 2022.10.25 |
The command '/bin/sh -c ./gradlew bootJar' returned a non-zero code: 127 발생 시 해결 방법 (0) | 2022.05.31 |
jar 파일을 리눅스에서 빌드 후 웹서비스 접속 (0) | 2022.04.12 |