本文转自http://blog.youkuaiyun.com/ssh_kobe/article/details/6897565,感谢原作。
1、java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;
原因:缺少slf4j-nop.jar包;或引入的包有冲突。另注:我在使用的时候导入了slf4j-api-1.6.1.jar和slf4j-nop-1.6.1.jar两个包,但是前一个包同jbpm4原有的slf4j-api.jar冲突,故而删掉前一个包,即可运行通过。
2、java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/login_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
juel-impl.jar、juel-engine.jar、juel.jar复到tomcat的lib下,并删除项目中的三个包和tomcat中的el-api.jar包。
3、java.lang.AbstractMethodError: org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;
原因:jbpm的xercesImpl.jar和ssh的xercesImpl.jar冲突(或者xerces.jar和xercesImpl.jar冲突)
4、数据库方面的问题:The user specified as a definer ('root'@'%') does not exist
原因:一般是由于root用户对全局host无访问权限。因此只要给root用户添加一个访问权限即可。
解决方法:登陆mysql ,执行mysql -u root -pPasswd
mysql >grant all privileges on *.* to root@"%" identified by "Passwd" ; //说明:Passwd是登陆数据库时的密码
mysql >flush privileges;
5、exception while executing command org.jbpm.pvm.internal.cmd.CompleteTaskCmd@1aabc4c
java.lang.NullPointerException
at org.jbpm.pvm.internal.hibernate.ConverterType.get(ConverterType.java:53)
原因:缺少jbpm中的hibernate-core.jar和javassist.jar两个包
6、java.lang.NoClassDefFoundError: javassist/util/proxy/MethodFilter
原因: 缺少javassist.jar