2013-02-24 3 views
1

Springource Tool Suite (Eclipse Juno 기반)의 서버에서 실행중인 프로젝트를 얻으려고합니다. 이클립스의 이전 버전에서 실행되었습니다. 그것은 maven 프로젝트이며, 명령 행에서 잘 빌드됩니다.Eclipse로 전환 Juno와 필터 클래스가 없습니다.

내가 지금보고 있어요 문제는 이클립스의 이전 버전에서는,이 클래스를 찾는데 문제가 없었다하지만이 web.xml에서 참조 필터 클래스를 찾을 수 있다는 것입니다.

<filter> 
    <filter-name>hibernateFilter</filter-name> 
    <filter-class>com.foo.bar.dao.hibernate.HibernateSessionFilter</filter-class> 
    <init-param> 
     <param-name>sessionFactoryBeanName</param-name> 
     <param-value>sessionFactory</param-value> 
    </init-param> 
</filter> 

나는 내부 톰캣 6 서버에서 실행하려고, 나는 다음과 같은 오류 얻을 : 내가 jar tf app.war | grep HibernateSessionFilter을 실행하면

SEVERE: Exception starting filter hibernateFilter 
java.lang.ClassNotFoundException: com.foo.bar.dao.hibernate.HibernateSessionFilter 

를 클래스에 거기 web.xml 필터 절은 다음과 같습니다 전쟁 파일 :

$ jar tf imagewar.war | grep HibernateSessionFilter 
WEB-INF/classes/com/foo/bar/dao/hibernate/HibernateSessionFilter.class 

아마도 WEB-INF/classes에 속하지 않으십니까?

내가 말했듯이,이 응용 프로그램은 내부 서버에서 빌드하고 실행하는 데 사용됩니다. Juno가 내 앱의 클래스가 어디에 있는지 알려면 그걸 어떻게해야합니까?

+1

Eclipse와 어떤 관련이 있는지 이해할 수 없습니다. 당신은 war 파일을 생성 할 수 있습니다. (Eclipse에 관한 모든 것이 잘되었으므로) 그러나이 war 파일을 Tomcat에 배포 할 때 예외가 생깁니다. 문제는 war 파일이나 web.xml에서 발생합니다. 맞습니까? war 파일 안에있는 HibernateSessionFilter.class 파일은 어디에 있는가? –

+0

http://stackoverflow.com/questions/4880331/tomcat-fails-to-load-struts-2-exception-starting-filter-struts2의 아이디어 또는 단서? – VonC

+0

Eclipse에 서버 탭이 있습니다. Tomcat (또는 다른 서버)에서 웹 응용 프로그램을 쉽게 배포하고 테스트 할 수 있도록하는 데 유용합니다. 변경된 유일한 것은 Eclipse의 버전입니다. 나는 이제 주노를 사용하고 있습니다. 그리고 그 변화로, war 파일은 더 이상이 서버 탭에서 제대로 시작되지 않습니다. 명령 줄 (mvn 패키지)을 통해 앱을 빌드하면 이전과 같이 소스가 변경되지 않았으므로 war 파일이 정확합니다. 내가 문제 설명에서 말했듯이, 클래스는 전쟁 파일에있다. – Marvo

답변

1

Eclipse를 통해 배포하는 경우 Eclipse에서 올바르게 응용 프로그램을 배포했는지 확인해야합니다. Eclipse는 WAR 파일을 사용하여 배포하지 않고 appservers 웹 응용 프로그램 위치에 필요한 파일을 복사합니다.

가끔 Eclipse가 이것을 망칠지라도, 배포를위한 알려진 WTP 버그가 있습니다.

당신은 .metadata/.plugins/org.eclipse.wst.server.core- 폴더 및 하위 폴더를 (각 하위 폴더가 등록 된 서버 인스턴스를 나타냅니다) 확인해야합니다.

때로는 웹 응용 프로그램에서 배포를 완료하고 Eclipse에서 다시 전개해야 할 때가 있습니다. 그것은 마법이지만 작동합니다.

확인하지 말아야 할 것 : WAR 파일 : Eclipse가 WAR 파일에서 배포하지 않습니다. 배포 된 클래스를 먼저 확인하십시오.

마지막 힌트 : Maven 용으로 m2e를 사용하는 경우 WTP 지원을위한 m2e-wtp 플러그인을 설치해야합니다.

+0

당신은 분명히 전쟁이 아닌 모든 것을 정리했습니다. 하지만 여전히 프로젝트를 빌드하고 실행하는 데 많은 어려움을 겪고 있습니다. 주니어에서 파일이 어디에 있는지 Eclipse에 더 많이 알려야하는 것처럼 보입니다. 이전 버전 저는 Maven 프로젝트를 가져 왔고 서버 탭에서 시작할 것입니다. 불평, 호들갑. – Marvo