我正在尝试在 WSO2 应用程序服务中部署 Spring 服务。我做了这个教程,该应用程序在 Eclipse 上运行良好,但是当我尝试在 WSO2 上部署它时,我收到了这个错误:
无法加载 Spring bean。请检查 Spring 上下文配置文件并验证定义的 Spring beans 是否存在于 .jar 文件中。
我解压缩了 de.jar
文件,JdbcCustomerDAO
其他所有文件都在那里。
春天上下文:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="customerDAO" class="com.mkyong.customer.dao.impl.JdbcCustomerDAO">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="url" />
<property name="username" value="username" />
<property name="password" value="password" />
</bean>
</beans>
我还尝试在 /repository/components/extensions 上包含 spring 和 mysql-connector-java jar,如HERE 所述。
编辑:
错误 {org.wso2.carbon.springservices.ui.SpringServiceMaker} - 无法加载 Spring bean。请检查 Spring 上下文配置文件并验证定义的 Spring beans 是否存在于 .jar 文件中。{org.wso2.carbon.springservices.ui.SpringServiceMaker} org.springframework.beans.factory.CannotLoadBeanClassException:找不到类 [org.springframework.jdbc.datasource.DriverManagerDataSource] 在通过 InputStream 加载的资源中定义的名称为“dataSource”的 bean ; 嵌套异常是 java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.DriverManagerDataSource
看起来它找不到spring-jdbc,所以我添加了jar
扩展但现在我收到了这个错误:
错误 {org.wso2.carbon.springservices.ui.SpringServiceMaker} - 无法加载 Spring bean。请检查 Spring 上下文配置文件并验证定义的 Spring beans 是否存在于 .jar 文件中。{org.wso2.carbon.springservices.ui.SpringServiceMaker} org.springframework.beans.factory.BeanCreationException:在通过 InputStream 加载的资源中定义名称为“dataSource”的 bean 创建错误:bean 的实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 bean 类 [org.springframework.jdbc.datasource.DriverManagerDataSource]:构造函数抛出异常;嵌套异常是 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
我知道 commons.logging 也丢失了,但是当我尝试将它添加到扩展时,WSO2 没有启动。我得到很多
Log4j:错误无法实例化...