尝试部署服务器时找不到 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 具有以下属性以上是关于尝试部署服务器时找不到 database.properties的主要内容,如果未能解决你的问题,请参考以下文章
在 Elastic Beanstalk 上部署时找不到模块 Django
部署到 AWS lambda 时找不到模块 ./dist/server
将 node.js 应用程序部署到谷歌云平台时找不到模块“yargs”错误