2011-02-17 5 views
0
을 외부은 dataSource 설정을 읽고로드

제 (MySQL의)은 dataSource가 DataSource.groovy에 정의 할 때 내 Grails의 응용 프로그램은 톰캣에서 잘 실행됩니다. 그러나 외부 설정 파일을 사용할 때 Tomcat에서 MySQL 드라이버에 대해 ClassNotFoundExceptions를 얻습니다. 특별한 전쟁 의존성도 설정되지 않습니다.도움말 적절한 JDBC 드라이버

나는 분명히 뭔가 빠졌지 만 식별 할 수없는 것 같습니다. MySQL 커넥터를 CATALINA_HOME/lib로 옮긴다.하지만 그렇게하지는 않는다.

모든 의견이나 도움을 주시면 대단히 감사하겠습니다!

.... // ("$ {APPNAME} -config.location")
데프 extConfig = System.properties.getProperty 외부 설정을 로딩하는 단계;
의 grails.config.locations의 = [ "파일 : $ {extConfig}/$ {APPNAME} -config.properties"]
// 설정 파일의 내용을 표시합니다.
dataSource.pooled = 사실
dataSource.dbCreate =
dataSource.driverClassName = "com.mysql.jdbc.Driver" "드롭을 만들"
dataSource.username = "루트"
dataSource.password = "ttech "
dataSource.url ="JDBC한다 : mysql : // localhost를 : 3306/등록 "우리의 프로젝트에서

답변

1

우리가 외부 속성이 구성 파일을 가지고 우리는 우리의 경우뿐만 아니라, 데이터 소스 구성을 설정하는 데 사용할 우리는 PostgresSQL을 사용하고 BuildConfig.groovy를 사용하여 WAR 파일이 생성 될 때 드라이버의 jar 파일을 포함시킵니다. Grails 의존성 관리 시스템은 WEB-INF/lib에 항아리를 넣었으며 Tomcat lib 폴더를 넣을 필요가 없습니다. 난 당신이 데이터 소스의 방언을 지정하지 않는 것을 볼 설정에서

, 당신은 너무 외부 파일에있는 것을 확인 할 수 있습니다.

희망이 도움이됩니다.

+0

예, 작동하지 않습니다. 그러나 JDBC jar가 공유 컨테이너 classpath에 있다면, Grails가 그것도 선택하지 않아야합니까? 내 앱을 db-agnostic으로 만들 수 있어야합니까? – Bill

+0

나는 당신이 말하는 것을보고, 나는 그것을 시도하지 않았습니다. 그러나 그것은이 스레드 당 문제없이 작동해야합니다 http://grails.1312388.n4.nabble.com/More-grails-apps-under-tomcat-and-same-jdbc-driver-td1368048.html – Maricel

+0

I 데이터 소스 설정을 특성 파일로 외부화하십시오. .groovy 형식의 파일로 변경 했더니 작동했습니다. 잘 모르겠다. 나를 조금 불안하게 만든다. – Bill

관련 문제