maven 2 ¶
WTP와 함께 웹 프로젝트를 시작할때는 WTP mini howto 문서를 참고한다.
1) Eclipse Remote Site 새 주소 :
http://m2eclipse.sonatype.org/update/
로 설정해야 한다. 사이트는 전과 동일하게 http://m2eclipse.codehaus.org/ 이다.
http://m2eclipse.sonatype.org/update/
로 설정해야 한다. 사이트는 전과 동일하게 http://m2eclipse.codehaus.org/ 이다.
2) Maven 플러그인 활성화할때
이제는 Enable Maven이 아니고 Maven->Enable Dependency Management 이다.
이제는 Enable Maven이 아니고 Maven->Enable Dependency Management 이다.
3) Add Dependency 하여 Hibernate 추가시
Missing indirectly referenced artifact com.sun.jdmk:... 어쩌고 하는 에러 메시지가 나올 때.
라이선스 문제로 다운로드가 불가능하게 된 경우라고 한다.참고
이때는 http://download.java.net/maven/2/ 이하의 폴더에서 .jar 및 .jar.sha1 파일을 직접 다운받아서 C:\Users\setzer\.m2\repository\ 같은 홈 디렉터리 아래에 넣으면 된다.
Missing indirectly referenced artifact com.sun.jdmk:... 어쩌고 하는 에러 메시지가 나올 때.
라이선스 문제로 다운로드가 불가능하게 된 경우라고 한다.참고
이때는 http://download.java.net/maven/2/ 이하의 폴더에서 .jar 및 .jar.sha1 파일을 직접 다운받아서 C:\Users\setzer\.m2\repository\ 같은 홈 디렉터리 아래에 넣으면 된다.
javax.transaction:jta:jar:1.0.1B:compile | http://download.java.net/maven/2/javax/transaction/jta/1.0.1B/ |
com.sun.jdmk.jmxtools:jar:1.2.1:compile | http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/download.jsp -> JMX 1.2.1 reference implementation |
com.sun.jmx.jmxri:jar:1.2.1:compile | 상동 |
javax.jms:jms:jar:1.1:compile | http://java.sun.com/products/jms/docs.html -> Download the version 1.1 API Documentation, Jar and Source |
모든 해결책 : 참고
4) 컴파일 시점에 javax.servlet.http 가 없다고 나올때
pom.xml에 다음을 추가한다 :
기존에는 tomcat 디렉터리의 servlet-api.jar를 클래스패스에 넣으면 된다는 글들을 보았지만 무엇이 잘못되었는지 그렇게 해서 효과를 보지 못했다.
pom.xml에 다음을 추가한다 :
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
5) 사용자 클래스 등에 대해 ClassNotFoundException이 발생할 경우
Servers 뷰에서 서버를 더블클릭하여 Overview 화면을 연 뒤 General Information 탭의 Open launch configuration을 실행. 열린 창에서 Classpath 탭을 선택한 뒤 Add Projects 버튼을 눌러 현재 프로젝트를 추가한다.
Servers 뷰에서 서버를 더블클릭하여 Overview 화면을 연 뒤 General Information 탭의 Open launch configuration을 실행. 열린 창에서 Classpath 탭을 선택한 뒤 Add Projects 버튼을 눌러 현재 프로젝트를 추가한다.
6) 소스코드에 한글이 들어가면 컴파일시 에러가 날 경우
project.build.sourceEncoding 이라는 전역 속성이 있는데 아직 완전하게 지원되지 않는다. maven-compiler-plugin의 옵션으로 encoding을 UTF-8로 지정한다.
project.build.sourceEncoding 이라는 전역 속성이 있는데 아직 완전하게 지원되지 않는다. maven-compiler-plugin의 옵션으로 encoding을 UTF-8로 지정한다.
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
...
7) java.lang.NoClassDefFoundError: javax/servlet/Filter 에러가 났는데, 여러가지를 시도해 보았으나 결국 가장 간단한 해결책은 서버의 옵션에서(Overview -> Server Options) Serve modules without publishing을 선택하는 것이었다.