1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- dependency:copy-dependencies 실행 명령어 -->
 
<!-- 플러그인 추가 -->
<plugin>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy</id>
            <phase>install</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
        </execution>
    </executions>
</plugin>
cs


'형상관리 > Maven' 카테고리의 다른 글

이클립스의 메이븐 프로젝트 기초설정 (설치 X)  (0) 2015.07.20

출쳐: http://antop.tistory.com/149


먼저 이클립스에 m2e 플러그인을 설치되있어야합니다.

설치가 되어있다면 플러그인리스트에 m2e플로그인이 표시됩니다.


메이븐 web project를 생성합니다.


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



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 에서 플러그인 부분을 아래와 같이 추가 후 저장합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 <build>
        <finalName>maven.project</finalName>
 
        <!-- 이거 -->
        <plugins>
                 <!-- 1.6 버전을 사용하고싶을때 -->
            <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>
 
                 <!-- 1.7 버전을 사용하고싶을때 -->
                 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


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


하라는대로 합니다. ㅎㅎ 프로젝트 오른쪽 버튼 클릭후 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 설정을 추가합니다.

1
2
3
4
5
6
7
8
               <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <warSourceDirectory>webapp</warSourceDirectory>
                </configuration>
            </plugin>


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

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

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


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

1
2
3
4
5
6
7
8
9
10
11
12
<?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 따라서 변경)

1
2
3
4
5
6
7
<?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 해보면 정상적인 구조로 말리는 걸 확인할 수 있네요~


'형상관리 > Maven' 카테고리의 다른 글

Maven 의존lib 복사  (0) 2015.07.22

+ Recent posts