카테고리 없음

☕ Maven + MySQL Connector/J 빌드 & 배포 가이드

idea9329 2025. 3. 31. 15:50
반응형

 

✅ 1. mysql-connector-j란?

MySQL을 Java 애플리케이션에서 사용하기 위해 필요한 JDBC 드라이버입니다.

  • Java에서 Connection, PreparedStatement 등을 사용할 수 있게 해줍니다.
  • 공식 Maven artifact 이름: mysql:mysql-connector-java

📦 2. Maven 프로젝트에 의존성 추가

pom.xml에 아래처럼 작성합니다:

<dependencies>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.3.0</version> <!-- 최신 버전 확인 필요 -->
  </dependency>
</dependencies>

👉 최신 버전은 Maven Central에서 확인 가능


🛠 3. 빌드

Maven으로 빌드 실행:

mvn clean package

이 명령어로 .jar 또는 .war 파일이 생성되며,
해당 아티팩트에 mysql-connector-java가 포함되거나 별도 참조됩니다.


🚀 4. 배포 (방법 2가지)

방법 1. 서버에 .jar 배포 (Spring Boot 기준)

  • target/your-app.jar 파일을 WAS나 클라우드 서버에 배포
  • mysql-connector-java는 fat jar에 자동 포함됨 (Spring Boot 기준)
scp target/myapp.jar ec2-user@yourserver:/home/ec2-user/

방법 2. Docker 이미지로 빌드 & 배포

FROM eclipse-temurin:17-jdk
COPY target/myapp.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
docker build -t myapp:latest .
docker run -p 8080:8080 myapp:latest

💡 5. JDBC 연결 예시 (application.properties)

spring.datasource.url=jdbc:mysql://your-db-host:3306/yourdb?useSSL=false&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

🔐 6. 보안 팁

항목설명

SSL 연결 권장 useSSL=true&requireSSL=true 설정
비밀번호는 환경변수로 .env 또는 KMS, Secrets Manager 활용
드라이버 버전 최신 유지 보안 취약점 대응 위해 항상 최신 사용 권장

🔎 참고 정보

항목링크

Maven Central https://search.maven.org/artifact/mysql/mysql-connector-java
MySQL Connector/J Docs https://dev.mysql.com/doc/connector-j/en/
Spring JDBC Docs https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.data

✅ 요약

단계설명

1. pom.xml에 의존성 추가 mysql-connector-java
2. mvn clean package로 빌드 jar 또는 war 생성
3. 서버 배포 또는 Docker로 컨테이너화 운영 환경 배포
4. JDBC 설정 URL, 사용자 정보 입력
5. 보안 적용 최신 버전 + SSL + 환경변수로 비밀번호 관리



반응형