今天在写jface程序时出现以下异常:
Exception in thread "main" java.lang.SecurityException: class "org.eclipse.jface.text.TextAttribute"'s signer information does not match signer information of other classes in the same package
网上查资料,意思大致为工程里的jar文件里有包引入冲突。
检查有可能发生问题的jar文件没有找到问题。
于是新建一个普通工程,单个添加jar文件到classpath,结果发现原来idocument在org.eclipse.text的jar文件里。eventmanager在org.eclipse.core.commands.common里。
问题是由于org.eclipse.text里也有一个org.eclipse.jface.text包引起。但是发现和org.eclipse.jface.text里的同名包里的class文件不冲突。
于是查看版本号,发现一个是jface的jar是3.4.2,eclipse.text是3.4.0.重新到网上找3.4.0的全部替换,问题解决。
本文记录了在编写JFace程序过程中遇到的SecurityException问题及其解决方案。异常源于不同版本的jar包之间的签名信息不匹配,通过逐一排查并统一版本最终解决了该问题。

1491

被折叠的 条评论
为什么被折叠?



