0

我正在创建一个新的 Spring 应用程序,它集成了 Jetty,并通过通常的 MyBatis-Spring 项目包含了 MyBatis。

所以该应用程序是一个独立的 java 应用程序(意味着没有 WebContent 或 WEB-INF 文件夹),我通过从 Spring 上下文中获取 Jetty bean 来启动它,然后在它上面调用start;Jetty 链接到 Spring 的 DispatcherServlet,因此负责运行 Spring。

但是,从 Eclipse 运行应用程序(第一次运行),我无法启动,因为SQL 会话工厂无法找到MyBatis XML 配置文件;我尝试了几种格式都没有运气,该文件位于config文件夹中,该文件夹是 Maven 中的一个资源,这意味着该文件应该位于类路径中:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation" value="classpath*:pbsGlobalMapConfig.xml" />
</bean>

感谢帮助!我正在猜测的例外是:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in file [C:\Users\Dood\Desktop\Code\PBS\trunk\global\source\target\classes\spring-servlet.xml]: 
Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path resource [classpath*:pbsGlobalMapConfig.xml] cannot be opened because it does not exist
4

1 回答 1

1

这通过将 'classpath*:pbsGlobalMapConfig.xml' 替换为 ' classpath:pbsGlobalMapConfig.xml ' 来解决。

于 2015-11-16T13:54:03.513 回答