2013-02-28 2 views
4

현재 Struts2 프레임 워크를 사용하여 작은 웹 응용 프로그램을 만드는 중입니다. (일식)웹 응용 프로그램에 대한 Struts2 web.xml 파일 필터 jar

현재 웹 폴더의 struts.xml 파일 (src 폴더)에 대한 제어권을 이전하기 위해 web.xml (WEB-INF 폴더) 파일의 필터를 사용하려고합니다. (이것은 내가 튜토리얼에서 본 것입니다.)

는 다음과 나는 필터에 사용하고있는 코드가 될 때 :이 다음과 같은 오류가 계속으로

<filter> 
<filter-name>struts2</filter-name> 
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
</filter> 

<filter-mapping> 
<filter-name>struts2</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping> 

내가 Tomcat이 필터의 JAR 파일의 클래스를 찾는 생각하지 않습니다 :

내가 프로젝트를 마우스 오른쪽 클릭과에 가서 다음과 같이

java.lang.NoClassDefFoundError: com/opensymphony/xwork2/ActionContext at org.apache.struts2.dispatcher.ng.InitOperations.cleanup(InitOperations.java:114) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:60)
...continues for quite a while.

가 나는 항아리 Struts의 웹 페이지와 내가 빌드 경로 설정에 대한 갔다 길에서 다운로드 한 파일입니다이 속성

내가 다음에이 항아리 라이브러리를 추가 한 자바 빌드 경로 섹션에 가서 해당 라이브러리에 JAR 파일을 모두 새 라이브러리

추가를 만들고이 웹 응용 프로그램의 빌드 경로

에 할당 배포 어셈블리를 실행하면 WEB-INF/lib 폴더에 배치됩니다.

내가 아는 한이 튜토리얼에서 작동하는대로 작동해야합니다. 그러나, 그것은 나를 위해 작동하지 않습니다.

내 프로젝트를 실행하고 내 PC를 통해 프로젝트가 저장된 위치를 탐색 할 때 WEB-INF/lib 폴더를 보면 문제가있는 위치에 Jar 파일이 존재하지 않을 수 있습니까? 아니면 정상입니까?

도움 주셔서 감사합니다. 매우 감사드립니다!

편집

여기 내가 사용하고있는 jar 파일은 다음과 같습니다

commons-fileupload-1.2.2 
commons-io-2.0.1 
commons-logging-1.1.1 
commons-logging-api-1.1 
freemarker-2.3.19 
javaassist-3.11.0.GA 
ognl-3.0.6 
struts2-core-2.3.8 
xwork-core-2.3.8 
commons-lang-2.4 

이 해결 - 해결 완전히 새로운 빌드 프로젝트를 다시 시작! 업데이트 - 모든 jar를 제거하고 jar 라이브러리를 다시 만들고 빌드 경로/Deplyment 어셈블리에 다시 할당하여 고정 된 이전 빌드

그런 다음 이전 Tomcat 서버를 제거했습니다. 새로운 것을 배정 받았다.

완전히 확실하지를 고정,하지만 당신은 마커가 그룹을 경고 클래스 경로 종속성 검사기 메시지가 있어야 볼 열면 지금

+0

일식 전쟁 포장을 확인하십시오. 어쩌면 컴파일 할 때 종속 항아리가 있지만 마지막 전쟁에 패키지되지 않은 것 같습니다 – gerrytan

+0

항아리의 전체 목록을 보여주십시오. –

+0

@Dave Struts2 다운로드와 함께 제공되는 모든 단일 항아리를 추가하려고 시도했습니다. 80 개가 있습니다! – JD87

답변

2

에 대한 모든 작업 무엇. 그룹을 확장하면 과 비슷한 경고가 표시됩니다.

클래스 경로 항목 ???은 수출되거나 게시되지 않습니다. RuntimeClassNotFoundExceptions이 발생할 수 있습니다.

을 마우스 오른쪽 단추로 클릭하고 을 선택하십시오. 빠른 픽스. 이렇게하면 클래스 경로 항목을 WEB-INF/lib에 포함 할 수 있습니다.

+0

그러나이 방법으로 문제를 해결할 수는 없지만 각 jar 파일에 대해 마커가 있습니다. 내보내기 또는 게시되지 않으며 런타임에 클래스를 찾을 수없는 예외가 발생할 수 있습니다. 내가 빨리 수정해야 할 유일한 옵션은 둘 중 하나입니다. 연결된 원시 클래스 경로 항목을 제외 시키거나 연관된 클래스 경로 항목을 게시/내보내기 종속성으로 표시하십시오. 어느 것도 차이를 만드는 것 같지 않습니다! – JD87

+0

.classpath 파일을 수동으로 수정하는 것은 추가 된 속성을 복사하여 붙여 넣는 방식으로 조금 더 빨라지지만 은 전반적으로 훨씬 뛰어납니다. – Arvind

관련 문제