请问你是怎么解决myeclipse官网2014删除antlr-2.7.2.jar的,麻烦告诉我一下,谢谢!

myEclipse8.5下SSH2开发时如何删除antlr-2.7.2包 - CSDN博客
SSH2组合完成后,执行hibernate的HQL查询时,报错: java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 看来是antlr这个语法解析包出错 因为Struts2.1.8.1自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低,故要在build path里删除前一个低版本的。&解决方法:假设你的myEclipse安装在G:/ Genuitec目录下 1)修改myEclipse的安装目录的配置文件: G:/Genuitec/MyEclipse 8.5 1/configuration/org.eclipse.osgi/bundles/105/1/.cp/preferences.ini 去掉其中的MYECLIPSE_STRUTS2_DATA_HOME/2.1/core/antlr-2.7.2./ 然后再删除antlr-2.7.2.jar: 有两处 G:/Genuitec/MyEclipse 8.5 1/configuration/org.eclipse.osgi/bundles/105/1/.cp/data/2.1/data G:/Genuitec/MyEclipse 8.5 1/configuration/org.eclipse.osgi/bundles/105/1/.cp/data/2.1core 2)然后会发现在重新发布程序后,又在程序的lib目录下出现,没有真正删除。 继续查看myEclipse的安装目录:仔细寻找相关配置文件。 在myEclipse下,查看struts2包的属性: .genuitec.eclipse.struts2.MYECLIPSE_STRUTS21_CORE 这是一个myEclipse的变量,查看这个字符串是在哪个文件中定义的。 G:/Genuitec/MyEclipse 8.5 1/configuration/org.eclipse.equinox.simpleconfigurator / 找到其中的与struts有关的项,定位到struts2,即看到这个包 G:/Genuitec/Common/plugins/com.genuitec.eclipse.struts2_8.5.0.me.jar 再查看它,知道有个配置文件&preferences.ini&,修改它,去掉相关antlr-2.7.2.jar信息,然后再去掉包中自带的antlr-2.7.2.jar。& 所以,最后小结如下: 把G:/Genuitec/Common/plugins/com.genuitec.eclipse.struts2_8.5.0.me.jar包中的配置修改,并去掉其中的antlr-2.7.2.jar即可。 myEclipse的目录分两大类,一类是工作目录,一类是系统目录,而上述的包就放在系统目录中关于java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I异常的解决办法 - CSDN博客
今天在写一个比较简单的学生信息管理系统,采用了Struts2+Hibernate的配置,写完了登录页面之后,开始在浏览器调试,写完用户名和密码点击登录,跳转到Action时,
出现了java.lang.NoSuchMethodError:antlr.collections.AST.getLine()I异常,然后百度之,得知可能的原因是jar包冲突,web.xml 或Struts.xml配置错误,POJO与映射文件不匹配等原因呢,之后一一排除,删除版本较低的jar包,检查DAO操作,倒是找到几处小错误,总之搞了两个多小时都没能解决,然后 开始漫长的syso,发现List list 。。。。。没有执行,执行单元测试发现方法没有问题,于是断定不是类的问题,又回到了jar包冲突中。
&&&&&&&&&&&&&&& 用myeclipse自己导的包,出现了包版本冲突问题,问题出在struts包里面有也有个antlr_XXX.jar,与hibernate包里面的冲突了,hibernate的版本高
SSH组合完成后,执行hibernate的HQL查询时,报错:
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
看来是antlr这个语法解析包出错
因为Struts自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低,故要删除前一个低版本的,struts1.3 和2.1都带有antlr-2.7.2.jar,要把版本低的清除掉。
由于myeclipse 添加的struts性能 不是放在工程lib下的,而是myeclipse自带的,所以删除比较麻烦。
我是直接到workspace中查找下antlr-2.7.2.jar的包,删除之,也可以在MyEclipse下,windows--&preferences--&在文本框中搜索struts2--&选择antlr2.7.2--&remove,
在tomcat中webapps中该应用的目录WEB-INF\lib 删除 antlr2.7.2.jar
之后编译时就会自动找到Hibernate3.3自带的antlr-2.7.6.jar。
问题解决。
System.out.println(&为学生&);
String hql = &select s from Student as s where s.number =? and s.wps=?&;
System.out.println(&为学生3&);
@SuppressWarnings(&rawtypes&)
List list =this.session.createQuery(hql)//
.setString(0, name)//
.setString(1, password)//
System.out.println(list);
System.out.println(&为学生3&+list);
if(list!=null){
System.out.println(&为学生4&);
System.out.println(&asdasdasd&);MyEclipse中SSH整合,antlr-2.7.6版本不一致报错 - CSDN博客
我用的myeclipse8.6, 装在D:/MyEclipse8.6/,SSH组合完成后,执行hibernate的HQL查询时,报错:
java.lang.NoSuchMethodError:antlr.collections.AST.getLine()I
看来是antlr这个语法解析包出错
因为Struts自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低,故要删除前一个低版本的,,struts1.3 和2.1都带有antlr-2.7.2.jar ,,,下面我要把它们都清除了,由于myeclipse添加的struts性能不是放在工程lib下的,而是myeclipse自带的,,所以删除比较麻烦,,我觉得最简单的做法应该是这样:
D:/MyEclipse8.6/MyEclipse-8.6/configuration/org.eclipse.osgi/bundles下搜索antlr-2.7.2.jar
完成后能看到的,都删除掉,,(可能有些是在1.3下面的,有些是在2.1下面的)
然后在 D:/MyEclipse8.6/Common/plugins & 搜索*struts*.jar & 会发现,出来三个
选中 一个文件,,打开方式选择压缩包,,我的winRAR的,
com.genuitec.eclipse.cross.easystruts.eclipse_8.6.0.me.jar在lib下和data/1.3下要删除antlr-2.7.2.jar(这个是删除1.3里面的)
而再打开 com.genuitec.eclipse.struts2_8.6.0.me.jar& data/2.1/core 下删除antlr-2.7.2.jar(这个是2.1里面的)
好了,,这个就从struts1.3和2.1中移除了,,因为这两个jar是common目录下的,所以删除了后,再运行myeclipse后,myeclipse就不能再从这两个包中找antlr-2.7.2.jar 并加载了
注意:如果程序已经运行过,则同时需要删除TOMCAT下的antlr-2.7.2.jarMyEclipse上Struts2和Hiberante集成冲突(antlr包)解决办法 - Eclipse&&&&>>&& MyEclipse下Struts2和Hiberante集成冲突(antlr包)解决方法
Struts2和Hiberante集成的时候,如果使用的是MyEclipse自带的Struts2 core库和Hibernate3.X库,则两个框架会有一些重复的包,导致程序运行的时候报错:SSH组合完成后,执行hibernate的HQL查询时,报错: : antlr.collections.AST.getLine()I原因是:看来是antlr这个语法解析包出错 因为Struts自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低,故要删除前一个低版本的, struts1.3 和2.1都带有antlr-2.7.2.jar ,下面把它们都清除了:网上很多资料都是通过修改配置文件的方式删除antlr-2.7.2.jar的包,但是在8.6以上版本中存在一个简单的方式解决此问题:8.6以上版本可以在Myeclipse提供的各种框架之上再定制框架中的包。本文来自:&&& /forum.php?mod=viewthread&tid=30&extra=page%3D1

我要回帖

更多关于 antlr 2.7.2.jar 的文章

 

随机推荐