2010-12-02 2 views
0

기존 Apache/Tomcat 응용 프로그램에 대한 테스트 설정을 작성하려고합니다. 솔직하게 말해서, 그것이 '신청'인지 확실하지 않습니다. 특정 디렉토리에있는 JSP 모음입니다.기존 Tomcat 응용 프로그램에 대한 WEB-INF 위치 지정

jsp가 제대로 표시되고 있습니다. 문제는 WEB-INF 폴더의 클래스 폴더를 찾을 수 없다는 것입니다. NoClassDefFoundError 예외가 발생합니다.

'애플 리케이션'가 일을 복잡하게하고는 WEB-INF 공유 :이 소독 - 대한 - 네 - 정신의 예를 들면, 우리가 볼 수있는 두 개의 '응용 프로그램'에 따라서

4 drwxr-xr-x 8 root  root   4096 Dec 2 09:38 thing1 
4 drwxr-xr-x 8 root  root   8192 Dec 2 09:38 thing2 
4 drwxr-xr-x 8 root  root   4096 Dec 2 09:38 WEB-INF 

을 및 공유 WEB-INF 폴더에 있습니다.

작동하는 하나의 URL은 입니다. http : //mysite/thing1/index.jsp 그러나 해당 페이지에서 로그인을 시도하면 NoClassDef 오류가 발생합니다.

다음은 server.xml 파일의 관련 부분입니다. 그래서 앞서 언급 한의 index.jsp 파일의 실제 경로는/index.jsp를

<Host name="tony.com" appBase="tony/ROOT"> 
     <Alias>111.111.111.111</Alias> 
     <Context path="" docBase="" debug="0" reloadable="true" crossContext="true" /> 
    </Host> 

내 질문은 토니/ROOT/thing1, 어떻게 내가 톰캣 그렇게 thing1 &이 사용 WEB-INF를 구성해야 할 것입니다 그들의 lib 및 클래스 폴더에 대한? 이러한 '응용 프로그램'은 전쟁 파일로 배포되지 않습니다 ...

(참고 - 제작 상자의 복사본을 만드는 것은 어려울 것입니다. 거기에서 실행되는 많은 것들이 있습니다. 나는 그것을 만들기 위해 노력하고 있습니다. 몇 가지 애플 리케이션을위한 테스트 환경) 웹 응용 프로그램은 다음과 같은 구조가 있어야합니다

+0

tomcat/webapps/appname tomcat/webapps/appname/*.jsp tomcat/webapps/appname/WEB-INF tomcat/webapps/appname/WEB-INF/lib tomcat/webapps/appname/WEB-INF/classes 

그래서 방법은 작동한다을 추가 XML 구성없이 당신은 실제로 단일했습니다 두 개의 하위 폴더가 아니라 두 개의 하위 폴더가있는 응용 프로그램. 'NoClassDefFoundError'에 따라 classpath에서 누락 된 클래스는 무엇입니까? 느슨한'.class' 파일은'/ WEB-INF/classes'에 있어야하고'.jar' 파일에 패키지 된 클래스는'/ WEB-INF/lib'에 있어야한다는 것을 알고 있습니까? – BalusC

+0

예. 클래스 파일은 WEB-INF/classes에 있고, jar는 WEB-INF/lib에 있습니다. 그러나 해당 클래스는 패키지 이름을 기반으로 클래스의 _subdirectory_에 있습니다. 거기에, Tomcat은 그것을 볼 수 없습니다. 권한은 괜찮습니다. –

+0

아래 @ Bozho의 코멘트에 따라 tomcat/tony/ROOT에서 tomcat/webapps로 파일을 옮겼습니다. 이제 다음과 같은 다른 오류가 발생합니다. _org.apache.jasper.JasperException : JSP 클래스를 컴파일 할 수 없습니다. 생성 된 java 파일의 행 : 7에서 오류가 발생했습니다. 형식 만 가져올 수 있습니다. rpsi.rpsiMeWeb은 package_로 해석됩니다. 이것은 index.jsp입니다. _webapps_ 코드를 옮기기 전에 제대로 컴파일되고 있었기 때문에 설정 문제 만되었습니다. –

답변

0

:.

+0

사실, 그 모든 것이 거기에 있습니다. 흠. –

+0

그러면 webapps 디렉토리 바로 아래 디렉토리가 'the application'입니까? 그리고 전형적인 설치를한다면 WEB-INF의 위치를 ​​정의 할 수 있습니까? –

+0

네, 맞습니다 ... – Bozho

관련 문제