2012-11-29 3 views
0

Maven을 사용하여 Eclipse로 웹 애플리케이션을 빌드하고있다. 서버는 Apache Tomcat이 될 것입니다. Eclipse에는 이미 빌드 경로와 웹 애플리케이션 모듈 패싯에 포함 할 수있는 tomcat 6 라이브러리가 있습니다. 그것이 Maven없이 작업하는 방법입니다.Maven을 Eclipse에 포함시킬 Tomcat 라이브러리

그러나 Maven은 Tomcat에서 사용하기 위해 필요한 종속성을 포함 할 수 있습니다. 내 질문은, 옳은 일이 무엇입니까, Maven을 통해 그들을 포함하지 않고 이전처럼, 또는 이클립스 빌드 경로를 구성하고 그것을 해결할 수 있도록 계속하지 않는가?

답변

1

서버 API와 같은 컨테이너 별 API의 가장 좋은 방법은 maven POM에 포함시키는 것입니다. 그러나 제공된 범위로 종속성을 설정하면 eclipse 용 클래스 경로에서 사용할 수 있으므로 maven은 WAR 파일에 패키지하지 않습니다. 그것을 생성 할 때. e.G.

<dependency> 
    <groupId>...</groupId> 
    <artifactId>...</artifactId> 
    <version>...</version> 
    <scope>provided</scope> 
</dependency> 
+0

servlet-api와 함께 작동하며 빌드 경로에 서버 라이브러리를 포함하지 않아도됩니다. 감사합니다. –

0

당신이 프로젝트에 이러한 의존성이 필요하다고 특별히 말하지 않는다면 Maven이 해결하지 못한다는 것을 알고있는 한. 가장 좋은 방법은 pom.xml을 구성하고 종속성을 설정하고 Maven을 사용하여 프로젝트를 빌드 한 다음 Eclipse에서 편집하는 것입니다. 따라서 작업이 완료되면 쉽게 "패키지화"(전쟁 구축)하고 모든 서버 위치에 배포 할 수 있습니다.

+0

물론 나는 pom.xml에 servlet-api 의존성을 포함하는 것에 대해 이야기하고 있습니다. Maven Tomcat 플러그인으로 해결할 수 있는지 여부는 알 수 없습니다. 내 질문은 또한 Eclipse를 사용하여 서버 라이브러리를 추가하는 것이 필요한 경우입니다. 그런데 Eclipse WTP를 사용하여 배포하고 있습니다. WTP를 통해 배포 할 때 작동하지만 WAR 파일을 내보낼 때는 작동하지 않습니다. –

+0

servlet.jars를 사용하여 Tomcat에 프로젝트를 배포 할 때 문제가 있다는 것을 기억할 수 있습니다. Tomcat (6, 7은 확실하지 않음)이 이미 가지고 있기 때문에. 따라서 "클래스가 없습니다"오류가 발생하면 동일한 병이 두 번 추가되었거나 전혀 추가되지 않은 것입니다. 수동으로 확인하고 용지함을 설정해야합니다. 어떤 때는 maven이 다른 프로젝트에서 같은 jar 파일을 추가합니다. 따라서 Maven의 의존성 트리를 통해 이들을 찾을 수 있습니다. – dinesh707

관련 문제