2011-12-30 2 views
4

현재 Tomcat 7.0.21, JDK1.6.29 및 WTP 3.3.1 (Eclipse Indigo에서 실행 중)에 있습니다. 실행중인 M2E 버전이 확실하지 않습니다. 내 프로젝트는 mvn을 설치하고 이클립스 외부에서 Tomcat을 실행하거나 "게시하지 않고 서브 모듈"을 선택 해제 한 상태에서 WTP를 통해 서버에 배포 할 때 빌드되고 배포됩니다. 내가 함께 WTP를 통해 서버를 시작할 때게시하지 않은 WTP 배포

그러나, 더 게시 확인 상자를 톰캣과 실패, 성공적으로 시작되지 않습니다 : 내가 수동으로 클래스 디렉토리를 작성하는 경우

 
Dec 29, 2011 4:09:39 PM org.apache.catalina.startup.ContextConfig processAnnotationsJndi 
SEVERE: Unable to process JNDI URL [jndi:/localhost/plutom-ws/WEB-INF/classes] for annotations 
java.io.FileNotFoundException: jndi:/localhost/plutom-ws/WEB-INF/classes 
    at 
org.apache.naming.resources.DirContextURLConnection.list(DirContextURLConnection.java:463) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1901) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1905) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1828) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1295) 

, 그 다음에 대해 불평하지 classes/com 거기에 클래스 로더와 파일 경로 해결간에 어딘가에 충돌이있는 것 같습니까?

+0

게시를 사용하지 않는 이유는 무엇입니까? 내 수업이 서버에 게시되도록하는 것이 아닌가? –

+1

실제로는 실제 전쟁을 어딘가에 복사하는 것이 아니라 클래스 파일과 배포를/target 디렉토리에서 가져 오는 것입니다. 전쟁을 복사한다는 것은 내가하는 모든 변화가 멈추고 다시 시작되어야한다는 것을 의미합니다. No-publish은 재시작없이 html/js/some class 파일을 수정할 수 있다는 것을 의미합니다. –

답변

3

이 불행하게도 이클립스 WTP 및 여기에 톰캣 7있는 사이에 알려진 버그 관련 버그질라 항목입니다 : 분명히 수정이 알려져있다

Tomcat 7 + Serve Modules without publishing fails to find classpath resources

Really fix "Serve modules without publishing" with tomcat 7 by using the new VirtualDirContext of tomcat >=7.0.24

, 그냥되지 않았습니다 아직 적용되지 않았습니다. 그렇지 않은 경우가 많아 수정을 요청할 것이기 때문에 일반적인 사용 사례는 아닌 것 같습니다. 그것의 너무 나쁘다, 그것의 아주 유용한 특징.

관련 문제