DeploymentPath 관련, (ClassNotFoundException)
- 작성자 :
- 김*우
- 작성일 :
- 2019-09-26 16:37:26
- 조회수 :
- 2,399
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요. 개발환경 관련하여 문의 드립니다.
프로젝트 세팅은 아래와 같습니다.
DeploymentAssembly
source Deploy path
/src/main/java WEB-INF/classes
/src/main/resources WEB-INF/classes
/src/main/webapps /
build path
<프로젝트명>/src/main/java
<프로젝트명>/src/main/resources
<프로젝트명>/src/main/webapp
Default outputFolder : <프로젝트명>/target/classes
Context root : ROOT
일때, 소스코드 밑의 target 폴더 내부는
target
- classes
- css, library, img, script, META-INF, egovframework(context 등의 리소스 파일 + 컨트롤러,서비스 class 파일)
- WEB-INF(webapps 파일, html, root-context ... )
해당 target 폴더로 빌드되어 tomcat 로컬서버에 배포 시
rg.eclipse.wst.server.core\tmp0\wtpwebapps 아래에
<프로젝트이름 폴더>
- css, library, img, script , META-INF, egovframework(context 등의 리소스 파일 + 컨트롤러, 서비스 class 파일)
- WEB-INF(webapps파일, html, root-context ... )
- classes
- egovframework(context, sqlmapper 등의 리소스파일"만" 있음, 여기에 ../../../ 의 egovframework 아래 <패키지명>(class 파일들 있는 폴더) 을 복사붙여넣기하면 정상적으로 구동되나, 컨트롤러 수정사항이 반영되지 않음.
이런 상태로 이클립스에서 톰캣 실행 시 아래와같은 Exception 이 발생합니다.
심각: Error configuring application listener of class [egovframework.제품명.login.web.LoginSessionListener]
java.lang.ClassNotFoundException: egovframework.제품명.login.web.LoginSessionListener
at org.apache.catalina.loader.WebappClassLoaderBa.....
이외로, org.eclipse.wst.common.component 는 아래처럼 되어있습니다
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="프로젝트명">
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<property name="java-output-path" value="프로젝트명/WEB-INF/classes/"/>
<property name="context-root" value="ROOT"/>
</wb-module>
</project-modules>
jdk 1.8 / tomcat 8.5 / eclipse 2018-12 사용중이며, 전자정부프레임워크 3.1 사용중입니다.
필요하실경우 tomcat work directory 및 프로젝트 target 폴더 전체를 캡쳐하여 회신 드리도록 하겠습니다.
참고로 메이븐프로젝트이나, webapp->lib 폴더 내 jar 파일을 직접 import 하여 사용 중입니다...maven으로 빌드는 하지 않습니다..
빠른 답변 부탁 드립니다. 감사합니다.
프로젝트 세팅은 아래와 같습니다.
DeploymentAssembly
source Deploy path
/src/main/java WEB-INF/classes
/src/main/resources WEB-INF/classes
/src/main/webapps /
build path
<프로젝트명>/src/main/java
<프로젝트명>/src/main/resources
<프로젝트명>/src/main/webapp
Default outputFolder : <프로젝트명>/target/classes
Context root : ROOT
일때, 소스코드 밑의 target 폴더 내부는
target
- classes
- css, library, img, script, META-INF, egovframework(context 등의 리소스 파일 + 컨트롤러,서비스 class 파일)
- WEB-INF(webapps 파일, html, root-context ... )
해당 target 폴더로 빌드되어 tomcat 로컬서버에 배포 시
rg.eclipse.wst.server.core\tmp0\wtpwebapps 아래에
<프로젝트이름 폴더>
- css, library, img, script , META-INF, egovframework(context 등의 리소스 파일 + 컨트롤러, 서비스 class 파일)
- WEB-INF(webapps파일, html, root-context ... )
- classes
- egovframework(context, sqlmapper 등의 리소스파일"만" 있음, 여기에 ../../../ 의 egovframework 아래 <패키지명>(class 파일들 있는 폴더) 을 복사붙여넣기하면 정상적으로 구동되나, 컨트롤러 수정사항이 반영되지 않음.
이런 상태로 이클립스에서 톰캣 실행 시 아래와같은 Exception 이 발생합니다.
심각: Error configuring application listener of class [egovframework.제품명.login.web.LoginSessionListener]
java.lang.ClassNotFoundException: egovframework.제품명.login.web.LoginSessionListener
at org.apache.catalina.loader.WebappClassLoaderBa.....
이외로, org.eclipse.wst.common.component 는 아래처럼 되어있습니다
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="프로젝트명">
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<property name="java-output-path" value="프로젝트명/WEB-INF/classes/"/>
<property name="context-root" value="ROOT"/>
</wb-module>
</project-modules>
jdk 1.8 / tomcat 8.5 / eclipse 2018-12 사용중이며, 전자정부프레임워크 3.1 사용중입니다.
필요하실경우 tomcat work directory 및 프로젝트 target 폴더 전체를 캡쳐하여 회신 드리도록 하겠습니다.
참고로 메이븐프로젝트이나, webapp->lib 폴더 내 jar 파일을 직접 import 하여 사용 중입니다...maven으로 빌드는 하지 않습니다..
빠른 답변 부탁 드립니다. 감사합니다.
A
안녕하세요.
표준프레임워크센터 입니다.
기재하신 내용으로 보아
Class 파일을 수정또는 추가하면
이클립스에 연동되어 있는
Tomcat에 반영이 않되는 문제가 있는것으로 이해가 됩니다.
해당 이클립스 버전이 표준프레임워크 개발환경에서
아직 검증한 버전이 아닌데요.
현재 v3.8에서 oxygen 버전을 기반으로 하고 있습니다.
표준프레임워크 포탈 > 다운로드 > 개발환경에서
좌측 개발환경 메뉴 > 3.x 다운로드 클릭하시면
oxygen 기반의 최신 버전을 다운로드 하실수 있습니다.
https://www.egovframe.go.kr/EgovDevEnvRelease_300.jsp?menu=3&submenu=2&leftsub=2
"개발자용 개발환경 32bit64bit(Implementation Tool) Version 3.8.0" 를 클릭하시면
32/64비트 버전을 다운로드 받으실수 있습니다.
해당 버전으로 테스트를 부탁드립니다.
감사합니다.
표준프레임워크센터 입니다.
기재하신 내용으로 보아
Class 파일을 수정또는 추가하면
이클립스에 연동되어 있는
Tomcat에 반영이 않되는 문제가 있는것으로 이해가 됩니다.
해당 이클립스 버전이 표준프레임워크 개발환경에서
아직 검증한 버전이 아닌데요.
현재 v3.8에서 oxygen 버전을 기반으로 하고 있습니다.
표준프레임워크 포탈 > 다운로드 > 개발환경에서
좌측 개발환경 메뉴 > 3.x 다운로드 클릭하시면
oxygen 기반의 최신 버전을 다운로드 하실수 있습니다.
https://www.egovframe.go.kr/EgovDevEnvRelease_300.jsp?menu=3&submenu=2&leftsub=2
"개발자용 개발환경 32bit64bit(Implementation Tool) Version 3.8.0" 를 클릭하시면
32/64비트 버전을 다운로드 받으실수 있습니다.
해당 버전으로 테스트를 부탁드립니다.
감사합니다.