maven 2

WTP와 함께 웹 프로젝트를 시작할때는 [http]WTP mini howto 문서를 참고한다.

[http]아파치 메이븐 2 시작하기 (한글)
위의 기사는 오래되어 조금 잘못된 부분이 있으니,

1) Eclipse Remote Site 새 주소 :
http://m2eclipse.sonatype.org/update/
로 설정해야 한다. 사이트는 전과 동일하게 [http]http://m2eclipse.codehaus.org/ 이다.

2) Maven 플러그인 활성화할때
이제는 Enable Maven이 아니고 Maven->Enable Dependency Management 이다.

3) Add Dependency 하여 Hibernate 추가시
Missing indirectly referenced artifact com.sun.jdmk:... 어쩌고 하는 에러 메시지가 나올 때.
라이선스 문제로 다운로드가 불가능하게 된 경우라고 한다.[http]참고
이때는 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

모든 해결책 : [http]참고

4) 컴파일 시점에 javax.servlet.http 가 없다고 나올때
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>
기존에는 tomcat 디렉터리의 servlet-api.jar를 클래스패스에 넣으면 된다는 글들을 보았지만 무엇이 잘못되었는지 그렇게 해서 효과를 보지 못했다.

5) 사용자 클래스 등에 대해 ClassNotFoundException이 발생할 경우
Servers 뷰에서 서버를 더블클릭하여 Overview 화면을 연 뒤 General Information 탭의 Open launch configuration을 실행. 열린 창에서 Classpath 탭을 선택한 뒤 Add Projects 버튼을 눌러 현재 프로젝트를 추가한다.

6) 소스코드에 한글이 들어가면 컴파일시 에러가 날 경우
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을 선택하는 것이었다.

powered by Moniwiki | themed by clockoon
last modified 2009-05-31 08:28:24
Processing time 0.2476 sec