您的位置:首页 > 编程语言 > Java开发

Java权限中遇到的问题汇总

2015-08-30 17:12 495 查看
一直在做ITOOJava权限,做这一部分,一上来就遇到很多的问题,这些问题因为先前没有做过,有点心有余而力不足。问题很多,大致是一上来之后,看懂了就不觉得难了。

我将错误一直记录在我的onenote里面,为之后的学习提供资料,这些问题大致都是遇到了解决了,下回就没有问题了,做完之后一个感觉,这个项目封装的很不错,一个新手上来,并没有非多大的力气就能很快加入到项目中,而且项目有很好的封装性,一般的代码是不需要动的。

看看错误:

11:27:40,412 ERROR[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/itoo-authority-start-web]](ServerService Thread Pool -- 56) JBWEB000289: Servlet action threw load()exception:
javax.naming.NameNotFoundException: itoo-authority-role-ear/itoo-authority-role-core-0.0.1-SNAPSHOT/RoleBeanImpl!com.tgb.itoo.authority.service.RoleBean-- servicejboss.naming.context.java.global.itoo-authority-role-ear."itoo-authority-role-core-0.0.1-SNAPSHOT"."RoleBeanImpl!com.tgb.itoo.authority.service.RoleBean"

这个问题名称找不到,其实说白了就是在Maven仓库中没有RoleBean,一般是没有的,就在Maven中我们将仓库中清空,之后重新生成就好了,如果还不行的话,就更直接一点,在jboss中部署这个Bean就可以了。

15:11:57,581 ERROR[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/itoo-authority-start-web].[action]](http-/0.0.0.0:8091-9) JBWEB000236: Servlet.service() for servlet action threwexception:
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast tocom.tgb.itoo.authority.entity.Notice

无法映射出Notice实体类,Notice对应数据库中的表ta_notice,这个我们看一下得到的实体集合就能看出来了。

我们先看一下正确的:



而我们传回来的是这样的:



是不是就很清楚了,就是很来传递的是一个Notice实体,传来的是Object,这个很简单,就是因为我调用的后台的方法不是映射实体而是映射表造成的。

Caused by:java.lang.ClassNotFoundException: com.tgb.itoo.authority.entity.User from[Module"deployment.itoo-authority-userrole-ear.ear.itoo-authority-userrole-core-0.0.1-SNAPSHOT.jar:main"from Service
Module Loader]

类不能那个找到,这个异常是类没有加载成功,找不到ear,我们重新生成一下就行了。

11:31:19,173 ERROR[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/itoo-authority-start-web].[action]](http-/0.0.0.0:8091-1) JBWEB000236: Servlet.service() for servlet action threwexception:
java.net.ConnectException: Connection refused: connect

连接被拒绝,看看能不能ping通,或者是CAS没有启动的原因。

14:41:36,770 ERROR [org.jboss.as.ejb3.invocation](http-/0.0.0.0:8091-1) JBAS014134:
对组件NoticeBeanImpl
的方法 public abstractcom.tgb.itoo.authority.entity.Noticecom.tgb.itoo.authority.service.NoticeBean.findNoticeByNoticeId(java.lang.String,java.lang.String)的
EJB 调用失败:javax.ejb.EJBException: java.lang.NullPointerException

EJB调用失败,空指针异常,方法中有参数为null。

Caused by:java.lang.ClassNotFoundException: com.tgb.itoo.authority.entity.Discution from[Module "org.apache.shiro:main" from local module loader @768b970c(finder: local module finder @5a4041cc (roots:E:\java\jboss-eap-6.2\modules,E:\java\jboss-eap-6.2\modules\system\layers\base))]

这个异常,是加上shiro的问题,一般就引起Friebug崩溃,重启一下Friebug就可以了。

12:11:38,827INFO  [stdout] (ServerService Thread Pool-- 81) Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure

连接问题,deleteByIds这个方法的第一个参数Class<T> t,要注意一下,这个不能随便写的。

14:36:52,181 ERROR[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/itoo-authority-start-web].[action]](http-/0.0.0.0:8091-1) JBWEB000236: Servlet.service() for servlet action threwexception:
java.lang.IllegalArgumentException: Unknown return value type[java.lang.Boolean]

不清楚返回值类型,这个应该很好解决了。

总结:

一个项目首先要做,做的多了,一边做一边思考,多想一下,这样,原理就慢慢明白了,学习是一个漫长的事情,经历的多了,自然就知道问题出在哪里了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java