Linux 시스템 Weblogic 92 의 자바 빈 가 져 오기 프로젝트 경로

최근 에 작은 프로그램 을 썼 는데 원래 개발 환경 은 JDK 1.6 이 고 운영 환경 은 Tomcat 6.0 이 었 다. 그 결과 리 눅 스 플랫폼 Weblogic 8.1 에 배치 해 야 한 다 는 것 을 알 게 되 었 고 얼마나 큰 변화 에 직면 했 는 지 알 수 있다. 반드시 Weblogic 8.1 은 JDK 1.4, Servlet 2.3 만 지원 해 야 한다.
마지막 으로 어 려 운 문제 에 부 딪 혔 습 니 다. 자바 빈 에서 프로젝트 의 컨 텍스트 경 로 를 얻 고 우여곡절 을 겪 으 며 몇 가지 방식 을 시도 해 보 았 습 니 다.
System.getProperty("user.dir"):/usr/local/bea/weblogic/user_projects/domains/base_domain
new File(".").getAbsolutePath():/usr/local/bea/weblogic/user_projects/domains/base_domain/.
new File("/"):/
this.getClass().getClassLoader().getResource("").getPath():/usr/local/bea/weblogic/user_projects/domains/base_domain/autodeploy/UpgradePro/WEB-INF/classes/
Thread.currentThread().getContextClassLoader().getResource(""):file:/usr/local/bea/weblogic/user_projects/domains/base_domain/autodeploy/UpgradePro/WEB-INF/classes/
FileHelperImpl.class.getClassLoader().getResource(""):file:/usr/local/bea/weblogic/user_projects/domains/base_domain/autodeploy/UpgradePro/WEB-INF/classes/
ClassLoader.getSystemResource(""):file:/usr/local/bea/weblogic/user_projects/domains/base_domain/
FileHelperImpl.class.getResource(""):file:/usr/local/bea/weblogic/user_projects/domains/base_domain/autodeploy/UpgradePro/WEB-INF/classes/com/mls/upgrade/biz/


 결 과 는 원 하 는 결 과 를 직접 얻 을 수 없고 수 동 으로 문자열 을 연결 해 야 합 니 다. Servlet 감청 context 를 통 해 만 얻 을 수 없습니다.
public final class ContextHelper implements ServletContextListener {
	
	public static ServletContextEvent context = null;
	
	/**
	 * ServletContext   
	 */
	public void contextInitialized(ServletContextEvent context) {
		Factories.context = context;
	}

	public void contextDestroyed(ServletContextEvent arg0) {
		
	}

}

 컨 텍스트 경 로 를 가 져 올 주소 에서 String contextPath = Factories. context. getServletContext (). getRealPath (") 를 직접 참조 합 니 다.목적 을 달성 할 수 있다.
결과 문제 가 또 왔 습 니 다. 프로젝트 배치 시 경 고 를 드 립 니 다.
[Application: '/rdsh/weblogic/bea/user_projects/domains/ s_srv/aaaa', Module: 'UpgradePro']: Deployment descriptor "w eb.xml" is malformed. Check against the DTD: org.xml.sax.SAX ParseException: cvc-elt.1: Cannot find the declaration of el ement 'web-app'. (line 5, column 52).>
원래 웹. xml 에 설 정 된

WebLogic 8.1 은 2.3 까지 만 지원 하기 때문에


Listener 를 Servlet 설정 전 으로 앞 당기 면 됩 니 다. (그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.)

좋은 웹페이지 즐겨찾기