内容摘自老师写的教学文档,能解决问题,分享给大家参考
NoSuchMethodError: antlr.collections.AST.getLine()
产生这一问题的原因在于Struts2和Hibernate共存时有两个名为“antlr-2.7.2.jar”和“antlr-2.7.6.jar”的文件因为版本问题导致冲突,Struts2用的是低版本,Hibernate必须用高版本。好在Struts2也能使用高版本的“antlr-2.7.6.jar”文件,因此我们需要在Struts2中把低版本的文件移除掉。
在“UsersCenter”项目里面的“Struts2 Core Libraries”上点击鼠标右键,选择弹出菜单中的“Build Path”->“Remove from Build Path”,将现有使用的Struts2库文件从项目中移除。
把Struts2的库文件从项目中去掉之后,UsersCenter项目马上出现了若干个错误,这是正常的现象,等一会儿我们再把正确的Struts2库文件加回去,错误提示就会消失
点击MyEclipse的主菜单“Window”->“Preferences”,在出现的窗体左侧选择“MyEclipse”->“Project Capabilities”->“Struts2”,并选中右侧下拉框中的“Struts 2 Core Libraries”。
鼠标点击选中库文件列表中的“antlr-2.7.2.jar”项,然后点击“Remove”将其删除(当然,如果你一不小心删除了的话,可以点击窗体右下角的“Restore Defaults”来还原,再次删掉antlr-2.7.2.jar即可),然后点击“Apply”按钮以使修改生效,最后点击“OK”按钮关闭即可。
接下来在项目“UsersCenter”上点击鼠标右键,选择弹出菜单中的“Build Path”->“Add Libraries”。
选中“MyEclipse Libraries”项。
在下面的窗体中,找到“Struts 2 Core Libraries”并勾选它,点击“Finish”按钮结束添加以前移除的Struts2库
经过上面的步骤,UsersCenter项目中的“Struts2 Core Libraries”文件列表中就没有了“antlr-2.7.2.jar”项。
别着急运行项目,正是因为前面我们运行过一次项目,导致Tomcat下面已经存在“antlr-2.7.2.jar”文件,尽管重新设置过项目中用到的Struts2核心库文件,但自动发布到Tomcat目录下面的这个低版本的文件还在,需要我们手工进行删除。
在MyEclipse中,找到下面的“Servers”视图,鼠标右键点击“UsersCenter”项,选择弹出菜单中的“Remove deployment”
好了,现在运行应该是没有问题的。
分享到:
相关推荐
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 解决方案
主要介绍了启动Azkaban报错:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap,需要的朋友可以参考下
1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method 'void ()' not found at org.jetbrains.idea.maven.server.embedder....
在MyEclipse中通过Struts ...此外,jar包全部正确导入之后可能还会出现java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 的异常,所以还需要删除antlr-2.7.2这个包,删包的方法网上有很多,很容易找到。
登陆报错的问题 登录 java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 问题 导入数据库乱码解决方案: 人才管理系统项目详细文档说明 ========================================= 系统安装...
内含hibernate3.2与修复java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.(Z)V 的错误的cglib2.2
java.lang.NoSuchMethodError异常处理要点
NULL 博文链接:https://albert0707.iteye.com/blog/562969
NULL 博文链接:https://sunrysoft.iteye.com/blog/1677989
其他版本itext可能会报错com.lowagie.text.pdf.BaseFont.getCharBBox(C),很多人都遇到过这样的问题,换成Itext2.0.8就可以了,只有Itext2.0.8才支持getCharBBox(char) ,其他的为getCharBBox(Int)
主要介绍了解决 java.lang.NoSuchMethodError的错误的相关资料,需要的朋友可以参考下
派遣 实用程序,使它们具有类型安全性,易于测试和更具表现力。 使用预定义的或定义您自己的,不要再注入Dispatchers对象。 val presenter = MyPresenter ( MainCoroutineScope ()) class MyPresenter @Inject ...
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器
问题如何解决:NoSuchMethodError: scala.collection.JavaConverters,版本不匹配错误;java.lang.NoClassDefFoundError:org/apache/hadoop/fs/FSDataInputStream,无Hadoop包错误 Project创建及配置: 1. 可通过...
ZK 页面用ckeditor时提示组件未定义,引入ckez.jar可解决
Hibernate经典版 通过图解让你轻松学会Hibernate
1.如果运行程序出现错误:“Exception in thread "main...3.错误:“Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.MDC.getCopyOfContextMap()Ljava/util/Map”,这是因为jar包版本冲突造成的。
文件内不仅内含jsp、jstl、struts1、struts2、jsf、freemarker、spring、velocity等常用标签,而且更含有JavaScript和Ajax常用函数的说明和实例。
jackson-annotations-2.10.2.jar jackson-core-2.10.2.jar jackson-databind-2.10.2.jar NoClassDefFoundError解决
否则,您可能会得到诸如此类的错误作为java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState运行测试时): // For Scala.js 0.6.x libraryDependencies + = " org.scala-js " %% " ...