2016-06-23 16 views
0

org.eclipse.jdt.core.dom.ASTParser jdt.core jarファイルにあるクラスを変更する必要があります。そこで私はJavaプロジェクトを作成し、同じパッケージ(org.eclipse.jdt.core.dom)を作成しました。しかし、私はこのクラスの新しいインスタンスを作成したいとき、私はこのエラーを取得:org.eclipse.jdt.core.dom.ASTPArserを変更してください

Exception in thread "main" java.lang.SecurityException: class "org.eclipse.jdt.core.dom.ASTParser2"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(Unknown Source) at java.lang.ClassLoader.preDefineClass(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at typeResolution.TypeResolution.main(TypeResolution.java:80)

私は問題を持っていますが、私はJavaのスタンドアロンのプロジェクトではありませんプラグインモードのプロジェクトで私のコードを実行するとこのエラーが発生します。

誰も私にこの問題の洞察を与えることができますか?ありがとう。

+0

デバッグのヘルプを求める質問(** "なぜこのコードは動作しないのですか?")**は必要な動作*、*特定の問題またはエラー*、* *それを再現するために必要な最短のコード*質問自体に**。 **明確な問題文**のない質問は他の読者には役に立たない。参照:[最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve) –

答えて

0

元のアーティファクトorg.eclipse.jdt.core_xyz.jarに署名しました。そのJARを独自の修正されたクラスと組み合わせて使用​​しようとすると、JVMは署名付きjarの整合性が失われたことを検出します。次の2つのオプションがあり :

  • の代わりに、1つのファイルだけを交換し、あなたによって

に署名せずに 自身のバージョン

  • 再パッケージオリジナルのjar と全体のjarファイルを置き換えますorg.eclipse.jdt.compiler.toolのような他のプラグインは、org.eclipse.jdt.core( "分割パッケージ")にも存在するパッケージにクラスを提供するので、より多くのリップルが存在する可能性があります。これは、両方のJARが同じcertificat電子署名されているか全く署名されていない。

  • 関連する問題