尝试部署服务器时找不到 database.properties

Posted

技术标签:

【中文标题】尝试部署服务器时找不到 database.properties【英文标题】:Cannot find database.properties when trying to deploy server 【发布时间】:2018-04-10 04:18:30 【问题描述】:

您好,我是 Java 开发的新手,我正在尝试修改同事开发的应用程序,但是当我尝试部署它时出现此错误:

javax.servlet.ServletException: org.apache.ibatis.exceptions.PersistenceException:

构建 SqlSession 时出错。

SQL Mapper 配置中可能存在错误

原因:org.apache.ibatis.builder.BuilderException:解析SQL Mapper配置时出错。原因:java.io.IOException:找不到

资源数据库.properties org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:373) org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:372) org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:335) org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:218) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

org.apache.ibatis.exceptions.PersistenceException:

构建 SqlSession 时出错。

SQL Mapper 配置中可能存在错误

原因:org.apache.ibatis.builder.BuilderException:解析SQL Mapper配置时出错。原因:java.io.IOException:找不到

资源数据库.properties org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23) org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:79) org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:67) com.jeeutils.db.ConnectionBuilderAction.(ConnectionBuilderAction.java:30) com.jeeutils.db.ConnectionBuilderAction.getSqlSession(ConnectionBuilderAction.java:45) com.utils.dbsession.DbSession.newSessionKey(DbSession.java:47) com.utils.dbsession.DbSession.getSession(DbSession.java:147) com.webapp.actions.BusinessAction.loadProfileMenuList(BusinessAction.java:391) com.webapp.actions.BusinessAction.preprocessRequest(BusinessAction.java:158) com.webapp.actions.LoginAction.addForm(LoginAction.java:56) sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:497) org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:140) org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:158) org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152) org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:101) org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:353) org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:343) org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:237) org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) org.glassfish.jersey.internal.Errors.process(Errors.java:315) org.glassfish.jersey.internal.Errors.process(Errors.java:297) org.glassfish.jersey.internal.Errors.process(Errors.java:267) org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:318) org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:211) org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:982) org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:359) org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:372) org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:335) org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:218) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

我想知道这个错误的原因是什么以及如何解决它。

【问题讨论】:

【参考方案1】:

Ibatis 是一个数据映射框架(它位于您的数据库和面向对象的逻辑之间...提供对象作为查询的返回)并且它确实有一个配置文件和这个“database.properties” .部署后,您的程序将找不到它。如果不知道更多细节,我不能告诉你更多。

也许this 也有帮助,回复建议可以放置属性文件的地方。

【讨论】:

找到了配置文件,但是我注意到它是 src/main/local/ 并且 mybatisConfig.xml 具有以下属性 。我该怎么做才能让它发挥作用? 嘿,至少他努力了。我很感激。他的信息非常有用。 好吧,我发布了一个答案,因为它至少是部分答案。他问是什么原因(并给了他答案)以及如何解决(我无法回答,我同意) 无可否认,这可能有所帮助,当然值得赞扬的是,Marco 提供了他所能提供的一切——但这仍然不是一个答案。根据 SO 指南,评论、澄清请求、链接、背景信息等应作为 cmets 发布,而不是答案。

以上是关于尝试部署服务器时找不到 database.properties的主要内容,如果未能解决你的问题,请参考以下文章

部署到生产时找不到索引视图?

在 Elastic Beanstalk 上部署时找不到模块 Django

部署到 AWS lambda 时找不到模块 ./dist/server

将 node.js 应用程序部署到谷歌云平台时找不到模块“yargs”错误

将流星部署到 android-device 时找不到 Build Tools 修订版 24.0.1

尝试为 php pecl 扩展模块 (geoip) 构建 rpm 时找不到 .so