ver. resin 3.0.25
conf/resin.conf 파일
<host> 태그안에
<web-app id="/" document-directory="webapps\ROOT"/>
부분을
<web-app id='/'>
<document-directory>C:\webp\workspace\M2\WebContent(프로젝트의 루트)</document-directory>
<system-property javax.xml.parsers.DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
<system-property javax.xml.parsers.SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
<jsp fast-jstl='false'/>
</web-app>
이렇게 수정한다.
<host> 태그안에
<web-app id="/" document-directory="webapps\ROOT"/>
부분을
<web-app id='/'>
<document-directory>C:\webp\workspace\M2\WebContent(프로젝트의 루트)</document-directory>
<system-property javax.xml.parsers.DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
<system-property javax.xml.parsers.SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
<jsp fast-jstl='false'/>
</web-app>
이렇게 수정한다.
※ 빨간색 부분이 중요한데 web.xml에 필터(filter) 클래스를 지정한 부분이 있을경우 빨간색 코드 부분을 삭제하면 자세한 원인은 모르지만 클래스를 찾지 못하는 경우가 발생한다. 위 클래스들은 xml의 파싱을 돕는 객체인거 같은데 저렇게 명시해 줘야 web.xml을 제대로 파서 할수있는것 같다.
기본적으로 레진은
1. JAVA소스가 WEB-INF/classes 밑에 컴파일 되어서 들어갔을 경우에
2. 라이브러리 jar파일들은 WEB-INF/lib 밑에
들어가 있다는 전제하에 설정하는 부분이고 만약 컴파일된 class파일들이 다른 폴더에 있을경우.
추가로 <host-default>태그 안에
예)
<host-default>
<class-loader>
<compiling-loader path="webapps/WEB-INF/classes"/>
<library-loader path="webapps/WEB-INF/lib"/>
</class-loader>
<class-loader>
<compiling-loader path="C:\webp\workspace\M2\build\classes"/> --> 실제 class파일들이 있는 경로
<library-loader path="C:\webp\workspace\M2\WebContent\WEB-INF\lib"/> --> 라이브러리 파일들이 있는 경로
</class-loader> --> 추가된 부분
....
</host-default>
추가 해 줘야한다.
예)
<host-default>
<class-loader>
<compiling-loader path="webapps/WEB-INF/classes"/>
<library-loader path="webapps/WEB-INF/lib"/>
</class-loader>
<class-loader>
<compiling-loader path="C:\webp\workspace\M2\build\classes"/> --> 실제 class파일들이 있는 경로
<library-loader path="C:\webp\workspace\M2\WebContent\WEB-INF\lib"/> --> 라이브러리 파일들이 있는 경로
</class-loader> --> 추가된 부분
....
</host-default>
추가 해 줘야한다.