반응형

Introduce



웹프로젝트 생성 후 추가적으로 해야할 작업을 정리합니다.



프로젝트를 생성하면 아래와 같은 구조로 생성이 됩니다.





Create Resource Folder


기본적인 메이븐 구조에 맞게 있어야 하는 폴더가 안 만들어져 있습니다.


main/java

main/resources <- 이미 생성되어 있음

test/java

test/resources


폴더를 생성하고


main/webapp


폴더는 삭제합니다.



Project Preperties 로 들어갑니다. (프로젝트에서 마우스 오른쪽 버튼 - Properties)


Java Build Path에 3개는 이미 추가되어 있으니(폴더도 없었으면서 -_-)  한개 빠진 폴더를 추가합니다.


Add Folder 버튼 클릭



남은 하나의 폴더(test/resources)를 추가합니다.



OK 후 Java  Resources 쪽에 보면 4개의 폴더가 적용되어 있습니다.





Change JRE System Library


저는 JDK 1.5 가 없습니다. 1.6 을 사용합니다. 하지만 메이븐 프로젝트를 만들면 기본적으로 빌드를 1.5로 하게 되어 있습니다. 이클립스에서 알아서 1.6으로 해주지만 경고가 표시됩니다.



Project Facets 설정 에서 1.6 으로 바꿔줄 수 있지면 나중에 pom.xml 설정을 바꾸다 보면 다시 원상 복귀 됩니다.


해결방법은 pom.xml 에서 플러그인 부분을 아래와 같이 추가 후 저장합니다.


<build>

<finalName>maven.project</finalName>


<!-- 이거 -->

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>3.1</version>

<configuration>

<source>1.6</source>

<target>1.6</target>

</configuration>

</plugin>

</plugins>

</build>

</project>


그러면 아래와 같이 에러가 나게 됩니다.



하라는대로 합니다. ㅎㅎ 프로젝트 오른쪽 버튼 클릭후 Maven - Update Project.



그럼 메이븐 프로젝트 선택하고 나옵니다. 현재 작업중인 프로젝트를 선택합니다.


그러면 이제 1.6 으로 돌아가게 됩니다. 물론 경고도 사라집니다.




Change Web Resource Location


처음 메이븐 웹 프로젝트를 만들면 웹 관련 폴더는 {프로젝트 루트}/src/main/webapp 에 있습니다.


이게 좀 소스 찾아 들어가려면 귀찮습니다. -_-;; 이 부분을 {프로젝트 루트}/webapp 로 변경하겠습니다.


이미 위에서 src/main/webapp 폴더는 삭제했습니다. 삭제하지 안았다면 삭제합니다.


프로젝트 바로 아래에 webapp, WEB-INF 폴더, web.xml(servlet 2.5) 파일을 생성합니다.



webapp 경로가 바뀌었으니 pom.xml 파일에 maven-war-plugin 설정을 추가합니다.


<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-war-plugin</artifactId>

<version>2.4</version>

<configuration>

<warSourceDirectory>webapp</warSourceDirectory>

</configuration>

</plugin>

</plugins>

</build>

</project>


수정 후 저장을 하면 다시 Update Project 하라고 에러가 납니다.


아직 추가 설정을 더 해줘야합니다!!


Navigator 뷰에서 프로젝트를 본 후 .settings 폴더에서 두개의 파일을 수정합니다.



.jsdtscope - 블럭된 부분을 삭제합니다.


<?xml version="1.0" encoding="UTF-8"?>

<classpath>

<classpathentry kind="src" path="src/main/webapp"/>

<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>

<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">

<attributes>

<attribute name="hide" value="true"/>

</attributes>

</classpathentry>

<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>

<classpathentry kind="output" path=""/>

</classpath>


org.eclipse.wst.common.project.facet.core.xml - jst.web 버전을 2.5로 변경합니다. (자신의 web.xml 따라서 변경)


<?xml version="1.0" encoding="UTF-8"?>

<faceted-project>

  <fixed facet="wst.jsdt.web"/>

  <installed facet="jst.web" version="2.5"/>

  <installed facet="wst.jsdt.web" version="1.0"/>

  <installed facet="java" version="1.6"/>

</faceted-project>


모두 저장 후 Project Explorer 뷰로 이동 후 Maven - Update Project


프로젝트를 보면 Deployment Descriptor 가 표시 되었습니다.



Maven Install 이나 War Export 해보면 정상적인 구조로 말리는 걸 확인할 수 있네요~


반응형
//