IT/개발

Spring 환경 자바 웹 개발 pom.xml 설정하기 maven repository 최신 버전 확인하는 방법

Lyk 2021. 1. 22. 22:47
728x90
반응형

Spring 프레임워크를 사용하면 pom.xml에 필요한 파일들은 명시해주어야 한다.

개인 프로젝트를 하며 작업했던 pom.xml 에 대해 정리하였다.

필요한 dependency를 작성해야 하는데

 

나는 spring 4 에서 oracleDB, mybatis, json 을 사용한다.

 

maven repository 최신 버전 확인하는 링크

 

Maven Repository: Search/Browse/Explore

The AWS Java SDK for Amazon SQS module holds the client classes that are used for communicating with Amazon Simple Queue Service Last Release on Jan 22, 2021

mvnrepository.com

 

※ 아래에 적힌 버전들은 당시 최신 버전을 검색해서 정했고,

최신 버전으로 사용하려면 maven repository에서 검색해야 한다. ※


1. JDK 버전 업그레이드

- properties의 java-version 은 1.8로 바꾸어준다.

   

- <properties>...</properties> 안의 속성값은 ${속성명}으로 치환 가능함

-  build의 plugins의 maven-compiler-plugin 의 source 와 target 도 1.8 로 바꿔준다. <자바 컴파일러 설정>


2. Spring 버전 업그레이드

- org.springframework-version 버전을 4.3.29 RELEASE 로 업그레이드
- maven repository 에서 spring-context 검색해 spring4 버전 중 가장 최신 확인!

 

↓1~2 과정 코드↓


3. Maven 버전 업그레이드

- build 의 plugins 의 maven-eclipse-plugin 버전은 2.10 ,

maven-compiler-plugin 버전은 3.8.0,

exec-maven-plugin 버전은 1.6.0 으로 바꿔준다

 

↓3 과정 코드↓


4. 한글 파싱 xerces[서세스]

xml 파일은 한글 처리가 잘 안되어

만약 프로젝트가 위치한 폴더 주소에 한글이 포함되있다면

에러가 날 수 있다.

그래서 아래 dependency를 추가해준다.

 

dependency 에 groupidxerces , artifactidxercesImpl , version2.11.0

 

↓4 과정 코드↓

더보기

복사용
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0</version>
</dependency>


5. mybatis 사용 설정

dependency에 spring-jdbc commons-dbcp ojdbc6 mybatis-spring 설정

ojdbc는 maven에서 제공하는 라이브러리가 아니므로 repositories 설정

 

↓5 과정 코드↓

더보기

 

복사용

<repositories> 
      <repository>

         <id>oracle</id>

         <name>ORACLE JDBC Repository</name>

         <url>www.datanucleus.org/downloads/maven2/</url>

      </repository>
</repositories>

 

복사용

<!-- spring-jdbc -->
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-jdbc</artifactId>
         <version>${org.springframework-version}</version>
      </dependency>

<!--       commons-dbcp -->
      <dependency>

         <groupId>org.apache.commons</groupId>

         <artifactId>commons-dbcp2</artifactId>
         <version>2.7.0</version>
      </dependency>

      <!-- oracle driver -->
      <dependency>

        <groupId>com.oracle.database.jdbc</groupId>

         <artifactId>ojdbc10</artifactId>
         <version>19.7.0.0</version>
      </dependency>

   <!-- mybatis -->
      <dependency>

         <groupId>org.mybatis</groupId>
         <artifactId>mybatis-spring</artifactId>
         <version>2.0.5</version>
      </dependency>


6. ORM (Object Relational Mapping) 설정

ORM이란?↓

dependency에 spring-orm 설정

 

↓6 과정 코드↓

더보기

복사용
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework-version}</version>
</dependency>


7. 실행되는 SQL문 콘솔에 출력

만약 sql 문을 사용하여 실행하던 중 오류가 나면 아래에 sql문이 출력된다.

dependency에 log4jdbc-remix 설정

 

↓7 과정 코드↓

더보기

복사용

<!-- 실행되는 SQL 문 출력 -->
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.7</version>
</dependency>


8. 파일 업로드

자바에서 파일을 업로드 하고 multipart/form-data를 사용하기 위해

dependency에 commons-iocommons-fileupload 설정

 

↓8 과정 코드↓

더보기

복사용

<!-- 자바 파일 업로드 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
</dependency>

<!-- multipart / form-data -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>


9. JSON

JSON으로 파일 전송할 때 사용하기 위해 dependency에 jackson-databind 설정

 

↓9 과정 코드↓

더보기

예전엔 jackson-mapper-asl을 사용했는데 databind로 대체되었다.

복사용

<!-- json 파싱 -->

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>2.11.3</version>

</dependency>


그 외 내가 궁금해서 참고했던 사이트들...

pom.xml에 대해 참고한 사이트

sjh836.tistory.com/131

 

Spring4 사용법 참고 사이트

mongdal.tistory.com/16

 

스프링 mybatis로 오라클 연동

po9357.github.io/spring/2019-05-12-MyBatis_Oracle/#_navigation

 

dbcp와 c3p0 차이

lottogame.tistory.com/1340

stackoverflow.com/questions/520585/connection-pooling-options-with-jdbc-dbcp-vs-c3p0

 

mybatis와 mybatis-spring 둘의 차이

unabated.tistory.com/entry/MyBatisSpring

github.com/seongbin9786/mybatis-and-mybatis-spring-tutorial

okky.kr/article/199142

 

ORM 사용 이유

m.blog.naver.com/PostView.nhn?blogId=p952973&logNo=220983538943&proxyReferer=https:%2F%2Fwww.google.com%2F

 

jackson-mapper-asl 사용 안하게 됨

github.com/hyunjun19/axu4j/issues/32

mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl

 

728x90
반응형