2012-01-04 2 views
3

Tomcat을 (Cargo를 사용하여) 시작하고 통합 테스트를 준비하기 위해 프로젝트를 배포하기 위해 Maven을 설정하려고합니다. 여기 Cargo-Maven2-Plugin이 Tomcat/lib 디렉토리를 찾지 못했습니다.

내 POM입니다 :

<...> 
<plugin> 
    <groupId>org.codehaus.cargo</groupId> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <version>1.1.3</version> 
    <configuration> 
     <container> 
      <containerId>tomcat6x</containerId> 
      <type>installed</type> 
      <home>/Dev/apache-tomcat-6.0.29/</home> 
     </container> 
     <configuration> 
      <type>existing</type> 
      <home>/Dev/apache-tomcat-6.0.29/</home> 
     </configuration> 
    </configuration> 
    <executions> 
     <execution> 
      <id>start</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>start</goal> 
      </goals> 
     </execution> 
     <execution> 
      <id>stop</id> 
      <phase>post-integration-test</phase> 
      <goals> 
       <goal>stop</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
<....> 

때 나는 깨끗하고, 내 톰캣/lib 디렉토리에 Catalina.jar 찾을 수 없습니다 구축 :

[talledLocalContainer] java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina 
[talledLocalContainer] at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
[talledLocalContainer] at java.security.AccessController.doPrivileged(Native Method) 
[talledLocalContainer] at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
[talledLocalContainer] at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
[talledLocalContainer] at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
[talledLocalContainer] at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:216) 
[talledLocalContainer] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:391) 

실행하는 경우 깨끗하고

[talledLocalContainer] Failed to find Tomcat version, base error [\Dev\apache-tomcat-6.0.29\server\lib\catalina.jar (The system cannot find the path specified)] 
[talledLocalContainer] Parsed Tomcat version = [6.x] 
[talledLocalContainer] Tomcat 6.x starting... 
[talledLocalContainer] Project base dir set to: C:\Users\Colin\Documents\NetBeansProjects\HousingWeb 
[talledLocalContainer] Executing 'C:\Program Files\Java\jdk1.6.0_22\jre\bin\java.exe' with arguments: 

내 바람둥이 디렉토리 보라 :이 기능을 사용하도록 설정 한 디버그 빌드, 그것은 둥/서버/lib에 Catalina.jar를 찾고 있음을 보여줍니다 이 같은 OKS :

- apache-tomcat-6.0.29 
    + bin 
    + conf 
    - lib 
     - Catalina.jar 
     - [bunch of other .jars] 
    + logs 
    + temp 
    + webapps 
    + work 
    - [other files] 

왜 카고 대신/lib 디렉토리의/서버/lib 디렉토리에서 Tomcat의 lib 폴더를 찾고 될 수 있을까요?

이 동작을 무시할 수있는 방법이 있습니까?

UPDATE :

5.5의 디렉토리 구조는/서버/lib 디렉토리 및/일반/lib 디렉토리 곳에 있었다 것 같습니다 톰캣 (5.5, 6.0, 7.0)의 다른 버전을 통해 찾고 후 6.0 및 7.0 단지/lib 있습니다.

Cargo가 Tomcat 5.5 앱을 인스턴스화하려고 시도하는 것 같습니다. 6.0을 사용하도록 구성하려면 어떻게합니까?

답변

2

톰캣을 사용하지 않고 다운로드하여 압축을 풀면 동일한 문제가 발생합니까?

<container> 
    <containerId>tomcat6x</containerId> 
    <zipUrlInstaller> 
     <url>http://www.apache.org/dist/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.zip</url> 
    </zipUrlInstaller> 
</container> 
+1

이렇게했습니다. 서버가 독립 실행 형 모드로 시작됩니다. 흥미롭게도 나는 Tomcat 5 디렉토리 구조에 특정한 파일들을 찾고있는 곳에서 경고를 얻는다 :'경고 : 디렉토리 문제 [C : \ Users \ Colin \ Documents \ NetBeansProjects \ HousingWeb \ target \ cargo \ configurations \ tomcat6x \ common \ lib] 존재 함 : [false]' – Planky