为什么java web 项目在本地可以运行,在服务器却报错。

图片说明在本机上运行能运行项目,但是去服务器之后,就报错,大概是连接不上数据库。
七月 10, 2018 5:40:55 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [springmvc] in context with path [/happyCircle] threw exception [Request processing failed; nested exception is org.apache.shiro.authc.AuthenticationException: Authentication failed for token submission [org.apache.shiro.authc.UsernamePasswordToken - 222, rememberMe=false]. Possible unexpected error? (Typical or expected login exceptions should extend from AuthenticationException).] with root cause
java.lang.NoClassDefFoundError: com/mongodb/MongoException$DuplicateKey
at org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:51)
at org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException(MongoTemplate.java:1829)
at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1712)
at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1523)
at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1507)
at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:532)
at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:523)
at com.happyCircle.admin.dao.impl.TUserDaoImpl.login(TUserDaoImpl.java:241)
at com.happyCircle.admin.service.impl.TUserServiceImpl.login(TUserServiceImpl.java:53)
at com.happyCircle.admin.shiro.MyRealm.doGetAuthenticationInfo(MyRealm.java:99)图片说明图片说明

9个回答

先确认连接地址有无问题,没有问题将异常贴出来,根据异常解决问题

m0_37729339
m0_37729339 回复qq_35501877: 没事,本来是想赚c币提问的,然而还没提问问题就解决了
大约 2 年之前 回复
qq_35501877
qq_35501877 虽然没解决,但还是辛苦了。
大约 2 年之前 回复
qq_35501877
qq_35501877 本人已疯,这个问题要我的命
大约 2 年之前 回复
m0_37729339
m0_37729339 回复qq_35501877: https://www.cnblogs.com/lindsay-chh/p/4734568.html 你看下这个吧,看看能不能解决
大约 2 年之前 回复
qq_35501877
qq_35501877 我难受了,我后面贴的是最基本的连接数据库了,不管怎样的框架都应该是经过这样的封装了。但就是连接不上,管理服务器那边的人给的端口和IP和我一样。我觉得我应该没错,他觉得他也应该没错。但我就是连接不上。
大约 2 年之前 回复
m0_37729339
m0_37729339 回复qq_35501877: 不是,我觉得你可能没有理解我的意思,我说的是noClassDefFoundException是驱动包的问题,你后面贴的链接不上MongoDB是连接的问题,你看看你是不是无意中改了什么配置之类的,或者试一下这个MongoDB配置到底正不正确
大约 2 年之前 回复
qq_35501877
qq_35501877 如果是驱动包的问题,我第二个错误也是在项目中用同一jar包,怎么就没有连接上mongo
大约 2 年之前 回复
m0_37729339
m0_37729339 回复qq_35501877: 我知道是驱动包所以才说是jar包的问题
大约 2 年之前 回复
qq_35501877
qq_35501877 我就很奇怪了,你说第一个是没找到类,看错误不就是mongo的驱动包吗?第二个我用的驱动包就是一个项目中的啊
大约 2 年之前 回复
m0_37729339
m0_37729339 回复qq_35501877: 不一样的,一个是没找到类,这是说明要不是jar包的问题,要不就是版本的问题,反正就是代码的问题,一个是连接超时,这个根本就没有连接到MongoDB
大约 2 年之前 回复
qq_35501877
qq_35501877 这两个错误不是一样的?
大约 2 年之前 回复
m0_37729339
m0_37729339 回复qq_35501877: 你这个新贴的异常就是根本连不上mongo,你是不是IP和端口没开放,或是写错了
大约 2 年之前 回复
qq_35501877
qq_35501877 关键是我前几天在服务器上还能运行,我换了连接mongo的方式,在服务器还是报错
大约 2 年之前 回复
m0_37729339
m0_37729339 回复qq_35501877: https://stackoverflow.com/questions/29688103/spring-boot-mongodb-java-lang-noclassdeffounderror-com-mongodb-mongoexceptiond
大约 2 年之前 回复
m0_37729339
m0_37729339 回复qq_35501877: 看看maven里面有没有mongo-java-driver这个jar包,如果有再试试其他版本,看看是否版本冲突
大约 2 年之前 回复
qq_35501877
qq_35501877 错误已贴出
大约 2 年之前 回复

线上和线下的数据库连接肯定是不一样的,你把项目放到线上就要改成线上的数据库连接

qq_35501877
qq_35501877 肯定该为服务器的连接了啊
大约 2 年之前 回复

本机上能运行,服务器不行,排除代码的问题,连不上数据库,确认下连接地址是否配错

检查一下连接数据库的配置,路径是否变了,最好能贴一下报错信息

qq_35501877
qq_35501877 回复justin_bob: 很气的是,用java语言连接不能,用别的语言能连接
大约 2 年之前 回复
justin_bob
长河落雨 回复qq_35501877: 连接数据库超时,服务器对应的端口是否打开?
大约 2 年之前 回复
qq_35501877
qq_35501877 错误已贴出
大约 2 年之前 回复

别大概,看下错误日志,看是不是包数据库连接错误,大概是你的线上数据库用户名和密码不正确导致,jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=round&useSSL=false,来参考参考,test改成你自己的数据库名字

qq_35501877
qq_35501877 错误已贴出
大约 2 年之前 回复

1、在服务器上连接下服务中的数据库,看看是否能通
2、tomcat和jdk的版本是否正确

图片说明

七月 10, 2018 5:40:55 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [springmvc] in context with path [/happyCircle] threw exception [Request processing failed; nested exception is org.apache.shiro.authc.AuthenticationException: Authentication failed for token submission [org.apache.shiro.authc.UsernamePasswordToken - 222, rememberMe=false]. Possible unexpected error? (Typical or expected login exceptions should extend from AuthenticationException).] with root cause
java.lang.NoClassDefFoundError: com/mongodb/MongoException$DuplicateKey
at org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:51)
at org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException(MongoTemplate.java:1829)
at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1712)
at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1523)
at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1507)
at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:532)
at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:523)
at com.happyCircle.admin.dao.impl.TUserDaoImpl.login(TUserDaoImpl.java:241)
at com.happyCircle.admin.service.impl.TUserServiceImpl.login(TUserServiceImpl.java:53)
at com.happyCircle.admin.shiro.MyRealm.doGetAuthenticationInfo(MyRealm.java:99)
报错的代码?


java.lang.NoClassDefFoundError: com/mongodb/MongoException 这个错误不就说明了么,编译能找到该类,运行找不到该类,这你就要看他在哪里调用这个类的,看看是不是没有引入进来导致报错

qq_35501877
qq_35501877 无账户和密码登录,端口和IP都是对的,要不我怎么说蛋疼呢
大约 2 年之前 回复
crazydddfz
crazydddfz 回复qq_35501877: 你可以问问数据库连接的用户名和密码,跟别人一起开发就是遇到这样的事,有可能改了他那边可以连就是不说。。。
大约 2 年之前 回复
qq_35501877
qq_35501877 而且最气的是,我还留了以前的war包,一样是不能操作数据库。我总觉得是服务器那边的问题,但是服务器那边的人说用其它的语言能访问,有点蛋疼
大约 2 年之前 回复
qq_35501877
qq_35501877 蛋疼的就是哪怕我配置是对的,你看后面两张图,也不能连接数据库,不管框架是怎么,底层还是如同JDBC一样,我就不用什么框架,只用一个数据库的驱动包,都连接不上数据库的
大约 2 年之前 回复
crazydddfz
crazydddfz 回复crazydddfz: 我有个建议就是,把这个配置文件,你在本地的bean配置,就先用一个,把注释干掉,xml讨厌注释,先用本地的配置跑一遍,然后把端口号,用户名密码等等改成服务器,检查无误不留注释,再打包上传一下,或者你在本地写个demo远程连接数据库,前几天能连这几天不能连,你应该这几天改代码把哪里改挂了自己都不知道,这种错误我也遇到过,很头疼
大约 2 年之前 回复
crazydddfz
crazydddfz 回复qq_35501877: 很诡异,在本机上没报这个错,在服务器上报错,你要先确定配置文件一定是改成服务器的,还有就是jar包全部导入的本地,你这个错误一般都是mongodb的driver驱动包冲突,但是你又能在本地运行,看看你服务器是不是有哪里跟本地不一样的地方
大约 2 年之前 回复
qq_35501877
qq_35501877 我用java mongo连接数据库,也是有问题,会不会是这个问题,如果找不到类,前几天我还在服务器访问了的
大约 2 年之前 回复
crazydddfz
crazydddfz 回复qq_35501877: jar导进来的肯定是能找到,这不是ClassNotFoundException,你看清楚错误,是运行时找不到类,你要看这个原因
大约 2 年之前 回复
qq_35501877
qq_35501877 这个类就是jar导入进来的类,还能找不到的
大约 2 年之前 回复

/happyCircle

你时定义两个同名得service?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问