java.lang.NoClassDefFoundErrorが:COM /グーグル/共通/ベース/内部/ファイナライザ$シャットダウン(間違った名前:COM /グーグル/共通/ベース/内部/ファイナライザ)

StackOverflow https://stackoverflow.com/questions/2049807

質問

私たちのアプリケーションは、GoogleのコレクションからMapMakerクラスを使用して、我々はWebStartのを使用して、唯一のOS X 10.4上で、以下の例外を取得しています。アプリのバンドルから、およびOS X 10.5およびWindows上で起動した場合は正常に動作します。

このはRC2から(私たちはすべての介在バージョンをスキップ)RC5への私たちのアップグレード以来起こって開始しました。私たちは、以来、この問題を参照して、最終的な、まだ1.0にアップグレードしました。

私はこのため、Sunの修正といくつかの相互作用が疑われますセキュリティ上の問題(URL.toStringは()WebStartの中で動作する方法を変更)する、まだどんな証拠を持っていません。誰もが前にこの問題を見ていますか?すべてのヘルプは大歓迎です!

java.lang.NoClassDefFoundError: com/google/common/base/internal/Finalizer$ShutDown (wrong name: com/google/common/base/internal/Finalizer)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
at java.lang.Class.getMethod0(Class.java:2642)
at java.lang.Class.getMethod(Class.java:1579)
at com.google.common.base.FinalizableReferenceQueue.getStartFinalizer(FinalizableReferenceQueue.java:308)
at com.google.common.base.FinalizableReferenceQueue.<clinit>(FinalizableReferenceQueue.java:102)
at com.google.common.collect.MapMaker$QueueHolder.<clinit>(MapMaker.java:836)
at com.google.common.collect.MapMaker$SoftValueReference.<init>(MapMaker.java:1078)
at com.google.common.collect.MapMaker$Strength$2.referenceValue(MapMaker.java:379)
at com.google.common.collect.MapMaker$StrategyImpl.setValue(MapMaker.java:488)
at com.google.common.collect.MapMaker$StrategyImpl.setValue(MapMaker.java:462)
at com.google.common.collect.CustomConcurrentHashMap$Impl$Segment.put(CustomConcurrentHashMap.java:960)
at com.google.common.collect.CustomConcurrentHashMap$Impl.put(CustomConcurrentHashMap.java:1438)`

マニフェストで興味深いものがあるように表示されません。

$ unzip -p google-collect.jar META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 10.0-b19 (Sun Microsystems Inc.)
役に立ちましたか?

解決

このような場合は、バグを報告にはるかに適切と思われますグアバプロジェクトのではなく、SOに助けを求めるが、私はまさに私がそう思う理由を説明するのに苦労しています。

私はこのスタックトレースを推測するだけで、のバグのか、あなたはライブラリを使用している方法で間違ってやっている何かよりもプラットフォームで深い問題であることが非常に多いようです。

他のヒント

私はあなたのjarファイルのMANIFEST.MFファイルを確認することを示唆しています。おそらくWebStartのは、URLClassLoaderのを使用していますので、他のjarファイルを見つけるために、ここでの説明に従います。

これは、使用しているGoogleのライブラリを見つけることができませんWebStartのように聞こえます。これは、あなたが言及した修正に関連している可能性がます。

編集をここに正しいリンクを追加する - > <のhref = "http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html#download" rel = "nofollowをさnoreferrer"> http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html#download の

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top