본문 바로가기

PROGRAMING/JAVA

기존 Web Project를 maven 프로젝트로 바꾸는법

기존에 사용중이던 Web Project를 maven 프로젝트로 바꾸고 싶다.


전제조건

mavne과 m2e등은 설치된 상태라고 가정한다.


실행순서

1. Deployment Assembly 를 고쳐준다.


기존 Web Project를 파일 브라우저로 보면 아래와 같다.



위 경로에서 보이는  .settings 폴더에 들어가면

org.eclipse.wst.common.component 파일이 있다 이 파일을 수정해야한다.

(수정전)




수정 전 

 <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="HelloWeb">
        <wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
        <property name="java-output-path" value="/HelloWeb/build/classes"/>
        <property name="context-root" value="HelloWeb"/>
    </wb-module>
</project-modules>

 수정 후 

 <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="HelloWeb">
        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>  

        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
        <property name="java-output-path" value="/HelloWeb/target/classes"/>
        <property name="context-root" value="HelloWeb"/>
    </wb-module>
</project-modules>


/WebContent   대신에 /src/main/webapp 로 설정

기존 src  대신에 /src/main/java/ 로 설정

아래 내용 추가 구성.

<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>

(수정후)



물론 해당 창에서 UI로 고쳐도 관계없다.


2. 기존 Web Project의 파일들을 maven Project에 맞게 경로를 이동한다.

*윈도우 탐색기를 이용해서 진행한다.

1)기존 src에 있는 파일들을 /src/main/java 로 이동

2)WebContent  폴더의 내용들을 /src/main/webapp 으로 이동.

3)기존에 없던 /src/main/resources 폴더와 /src/test/java 폴더 생성


3. 프로젝트 오른쪽 버튼> Build Path > Configure Build Path..  선택 Add Folder 버튼을 이용해 classPath 정리


위 사진처럼 

/src/main/java

/src/main/resources

/src/test/java

가 선택 되어여 한다.

기존에 있던 HelloWeb/src는 remove 버튼을 이용해서 제거한다.


4. 이상태에서 실행하면 아래와 같은 오류를 볼수 있다.



Add 버튼을 클릭 Java Build Path Entries 선택  Maven Dependencies를 삽입해준다.

그래야 아래와 같은 Spring 오류를 피할수 있다.

java.lang.NoClassDefFoundError: org/springframework/beans/factory/BeanNameAware
    at java.lang.ClassLoader.defineClass1(Native Method)


완료.