배포시 No bean named 'dataSource' is defined .... mssql
- 작성자 :
- 김*기
- 작성일 :
- 2017-07-27 23:31:16
- 조회수 :
- 3,458
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
전자정부 3.6 으로 mssql 연동을 한 소스를 배포를 하여고 하는데 tomcat manager 에서 배포를 하면
아래와 같은 에러가 발생합니다. 이클립스에서는 정상적으로 동작하는 소스입니다.
Caused by: .........nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'dataSource' is defined
환경(개발/배포 동일 pc) :
server : win10
db : mssql
java : jdk1.8.0_131
설정내역
[globals.properties]
# 운영서버 타입(WINDOWS, UNIX)
Globals.OsType = WINDOWS
# DB서버 타입(mysql, oracle) - datasource 및 sqlMap 파일 지정에 사용됨
Globals.DbType = mssql
...
#mssql
Globals.mssql.DriverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
Globals.mssql.Url=jdbc:sqlserver://localhost:1433;DatabaseName=eGov
Globals.mssql.UserName = eGov
Globals.mssql.Password = 123456
[pom.xml]
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc42</artifactId>
<version>4.2</version>
</dependency>
manager에서 배포
Context Path (required): /egovframework-all-in-one
WAR or Directory URL: D:\egovframework-all-in-one.war
아래와 같은 에러가 발생합니다. 이클립스에서는 정상적으로 동작하는 소스입니다.
Caused by: .........nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'dataSource' is defined
환경(개발/배포 동일 pc) :
server : win10
db : mssql
java : jdk1.8.0_131
설정내역
[globals.properties]
# 운영서버 타입(WINDOWS, UNIX)
Globals.OsType = WINDOWS
# DB서버 타입(mysql, oracle) - datasource 및 sqlMap 파일 지정에 사용됨
Globals.DbType = mssql
...
#mssql
Globals.mssql.DriverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
Globals.mssql.Url=jdbc:sqlserver://localhost:1433;DatabaseName=eGov
Globals.mssql.UserName = eGov
Globals.mssql.Password = 123456
[pom.xml]
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc42</artifactId>
<version>4.2</version>
</dependency>
manager에서 배포
Context Path (required): /egovframework-all-in-one
WAR or Directory URL: D:\egovframework-all-in-one.war
A
안녕하십니까, 김삼기님
표준프레임워크센터입니다.
context-datasource.xml 파일에서
mssql에 대한 dataSource 라는 빈이 정의되어 있는지 확인해 보시기 바랍니다.
mysql에 datasource 설정에 대한 샘플을 보여드리겠습니다.
샘플을 하나 올려드리겠습니다.
<!-- DataSource -->
<alias name="dataSource-${Globals.DbType}" alias="egov.dataSource" />
<!-- MySQL -->
<bean id="dataSource-mysql" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.DriverClassName}"/>
<property name="url" value="${Globals.Url}" />
<property name="username" value="${Globals.UserName}"/>
<property name="password" value="${Globals.Password}"/>
</bean>
보통 globals.properties에서 정보를 받아 데이터소스에 이렇게 매핑시키고 있습니다.
확인 해보시기 바랍니다.
감사합니다.
표준프레임워크센터입니다.
context-datasource.xml 파일에서
mssql에 대한 dataSource 라는 빈이 정의되어 있는지 확인해 보시기 바랍니다.
mysql에 datasource 설정에 대한 샘플을 보여드리겠습니다.
샘플을 하나 올려드리겠습니다.
<!-- DataSource -->
<alias name="dataSource-${Globals.DbType}" alias="egov.dataSource" />
<!-- MySQL -->
<bean id="dataSource-mysql" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.DriverClassName}"/>
<property name="url" value="${Globals.Url}" />
<property name="username" value="${Globals.UserName}"/>
<property name="password" value="${Globals.Password}"/>
</bean>
보통 globals.properties에서 정보를 받아 데이터소스에 이렇게 매핑시키고 있습니다.
확인 해보시기 바랍니다.
감사합니다.