제품 재고 관리 시스템에 필요한 API 생성이 1차로 끝이 났다🔥🔥
그래서 frontend 완성 후에 배포를 위한 Fat-jar을 생성하는 스크립트를 생성해보았다
모든 의존성에 있는 라이브러리가 자체 포함되어있는 jar 파일. java -jar 명령어로 단독 실행 가능
- 쉽게 말하자면 프론트엔드와 의존성, 리소스들을 다 포함한 jar이다
- 배포 및 실행 단순화라는 장점이 있고 도커 환경에서 배포할 때 유용하다
- backend
ㄴ target
ㄴ src
- frontend
ㄴ dist
#!/bin/bash
cd backend
./mvnw clean
cd ../frontend
npm run build
mkdir -p ../backend/target/classes/static
cp -r ./dist/* ../backend/target/classes/static
cd ../backend
./mvnw package -DskipTests
./mvnw clean
npm run build
cp -r ./dist/* ../backend/target/classes/static
./mvnw package -DskipTests
이떄 jar 파일의 이름은 pom.xml에 설정한 이름으로 지어진다
<groupId>com.madeg</groupId>
<artifactId>logistics</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>logistics</name>
sh package.sh
$ java -jar ./backend/target/{jarName}.jar
localhost:{backendPort}/
로 접속