2011-04-13 2 views
1

우리는 war 파일에서 환경 특정 구성 설정을 취하려고하므로 dev/test/prod tomcat 서버에 동일한 war 파일을 배포 할 수 있습니다. war 설정 파일의 내용을 변경할 필요가 없습니다.META-INF/context.xml의 내용을 tomcat/conf로 이동

데이터베이스 연결에 대한 META-INF/context.xml을 conf/server.xml로 이동하면 데이터베이스 연결이 더 이상 작동하지 않으며 다음 오류가 발생합니다. 그 이유는 누구나 알 수 있습니까?

의 server.xml :

<GlobalNamingResources> 
    .... 
    <Resource 
      url="jdbc:oracle:thin:@hostname:1521/something" 
      username="username" 
      name="jdbc/mydb" 
      password="password" 
      auth="Container" 
      driverClassName="oracle.jdbc.driver.OracleDriver" 
      maxActive="5" maxIdle="2" maxWait="10000" 
      removeAbandoned="true" 
      type="javax.sql.DataSource" 
      /> 
</GlobalNamingResources> 

오류는 다음과 같다 :

INFO: Deploying web application directory ROOT 
Problem reading system configuration. Cannot create JDBC driver of class '' for connect URL 'null' (java.io.IOException: Cannot create JDBC driver of class '' for connect URL 'null') 
java.io.IOException: Cannot create JDBC driver of class '' for connect URL 'null' 
    at au.edu.unimelb.helper.SettingManager.loadSettings(SettingManager.java:212) 
    at au.edu.unimelb.helper.SettingManager.<init>(SettingManager.java:53) 

(그리고 예 odjbc6.jar 파일은 $ TOMCAT_HOME에/lib 디렉토리 /)

+1

이것은 포장 예외는 당신이 스택 트레이스에 더 아래로 볼 필요가 마지막 "원인"또는 "근본 원인"부분 문제의 답이 포함되어 있습니다 – BalusC

+0

나머지 예외는 다른 사람에게 도움이되지 않았습니다 (: – Jacob

답변

2

마침내 그것을 해결했습니다. Tomcat 문서는 약간 오도 된 것입니다. META-INF/context.xml의 내용을 $TOMCAT_HOME/conf/context.xml에 곧바로 넣을 수 있습니다.

0

이 누락 될 수있는 <ResourceLink>의 context.xml에서 (하나의 웹 응용 프로그램과 같이 META-INF/context.xml 또는 $TOMCAT_HOME/conf/context.xml에, :.

 <ResourceLink name="jdbc/mydb" 
       type="javax.sql.DataSource" 
       global="jdbc/mydb"/>