처음부터 xml 파일이 정상 빌드가 안된 프로젝트에서 어떠한 행위를 하더라도 xml 파일이 정상 빌드가 안되는 것을 확인하였다.

 

해당 문제의 경우 처음부터 xml 파일이 resources 폴더에서 잘 생성되는지 확인 후 잘 생성된다면 해당 프로젝트를 다른 pc에 import하여 작업시에는 이미 xml 파일이 build되었기 때문에 정상 실행이 되었다.

 

여기에 지금까지 import project에서 xml 빌드 문제에 관하여 본인이 진행한 내용들을 정리하겠다.

 

1. 처음 mybatis로 진행시 mapping.xml에서 nullpointer 문제가 발생했었다.

<해결방법>

applicationContext.xml에서 발생한 문제로 property 값을 잘못줘서 발생했다.

configLocation의 value값과 mapperLocations의 값이 반대로 되었었다.

아래와 같이 정상 값으로 변경 후 문제를 해결할 수 있었다.

2. xml 파일 생성 불가 문제

이전 포스팅에서도 다뤘었듯이 한번 xml 파일이 생성이 안된 상태에서 어떠한 노력을 해도 기존 프로젝트에서는 xml 파일이 생성이 안되었다.

아래는 동일한 코드임에도 불구하고 1번 사진은 xml 파일이 out 폴더에서 생성이 안되었고 2번 사진에서는 생성이 되었다.

 

이 문제를 해결 하기 위해 아래와 같이 진행하였다.

 

  • pom.xml 파일에 buil 옵션 추가(동일)
  • applicationContext.xml의 classpath:를 classpath*: 로 변경(동일)
  • 프로젝트를 새로 생성해서 xml 동일한 코드로 xml이 생성되는지 확인(새 프로젝트에서는 생성 및 정상 실행됨)
  • c:\의 해당 프로젝트 폴더 위치로 이동하여 xml 파일 수동으로 복사하여 out 폴더 classes로 이동하여 붙여넣기(해결)
  • 새로운 프로젝트에서 정상 xml 파일 복사하여 해당 프로젝트 out 폴더 classes 폴더로 이동하여 붙여넣기(해결)

 

그럼 여기에 해결 방법을 기술하도록하겠다.

이 문제로 필자는 며칠을 고생했기 때문에 여기에 기술하여 같은 실수를 반복하지않으려고한다.

 

<해결방법>

필자가 발생한 문제의 핵심은 xml file doesn't generate automatically였다.

있어보이게 영어로 썼지만 뜻은 xml file을 자동생성하지 못해 out 폴더에 생성을 못한것이였다.

그렇기 때문에 서버는 doesn't exist 오류를 발생하며 xml file이 존재하지않는다고 하는 것이였다.

 

그래서 필자가 생각한 것이 자동 생성이 안된다면 수동으로 넣는다면 어떨까였다.

우선 아래 두개의 xml 파일이 있는 곳으로 이동하였다.

C:\의 해당 파일이 있는 경로로 이동한다.

그리고 out 폴더의 class 폴더로 이동한 후 해당 파일을 복사 붙여넣기 한다.

그리고 인텔리j에서 바로 reload를 못할 수 있으므로 아래와 같이 수동으로 reload를 진행해준다.

 

수동으로 xml 파일을 넣고 reload를 하고나니 감격스럽게도 인텔리J에서 out 폴더에 해당 파일을 인식하게 되었다.

그럼 코드를 실행해서 정상 구동되는지 확인해보자.

구동 후 정상적으로 출력되는 것을 확인할 수 있다.

추가로 복사의 더 쉬운 방법은 직접 폴더 경로로 갈 필요없이

아래와 같이 인텔리 J에서 드래그 앤드 드롭으로 정상 복사가 되는 것을 확인하였다.

그렇기 떄문에 아래와 같이 드래그 앤드 드롭으로 진행해도 무방할 것 같다.

마지막으로 실 서버에 올렸을 때에도 정상 구동되는지 확인해보자

본인의 webpage의 test page인 dev.namubada.com에 war 파일을 빌드하여 확인하려고한다.

해당 페이지에서도 정상 출력되는 것을 확인할 수 있다.

 

+ Recent posts