2017-09-19 6 views
0

BrowserViewを作成しようとするとエラーが発生すると、javax.swing.filechooser.FileFilterという問題が発生しているようです。私はスクリーンをインスタンス化するためにGuiceを使用していますが、これは何の影響もありません。組み込みブラウザで自分のアプリケーションを起動すると、私は次を得る:NoClassDefFoundError OSGiからJxBrowserを実行したときにFileFilterが見つからない

ERROR [Init thread] 19:37:24 19/09/17: ExtensionLoading error cuased by 
java.lang.NoClassDefFoundError: javax/swing/filechooser/FileFilter 
    at com.teamdev.jxbrowser.chromium.swing.BrowserView.<init>(SourceFile:73) 

これはOpenJDKの1.8で実行されています。 JxBrowserバンドルをダブルチェックしたところ、javax.swingが正しくインポートされているようです。何を探すべきなのか?

次のように完全なスタックトレースは次のとおりです。

at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987) 
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013) 
at com.ur.injection.GuiceBuilder.get(GuiceBuilder.java:27) 
at gui.main.MainPanel.initFlippablePanel(MainPanel.java:45) 
at gui.main.MainPanel.<init>(MainPanel.java:27) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:85) 
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) 
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) 
at com.google.inject.Scopes$1$1.get(Scopes.java:65) 
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) 
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) 
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) 
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84) 
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) 
at com.google.inject.Scopes$1$1.get(Scopes.java:65) 
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) 
at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) 
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974) 
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013) 
at com.ur.injection.GuiceBuilder.get(GuiceBuilder.java:27) 
at gui.main.URGUI.<init>(URGUI.java:119) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:85) 
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) 
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) 
at com.google.inject.Scopes$1$1.get(Scopes.java:65) 
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) 
at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) 
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974) 
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013) 
at com.ur.injection.GuiceBuilder.get(GuiceBuilder.java:27) 
at gui.main.URGUI$5.run(URGUI.java:222) 
Caused by: java.lang.NoClassDefFoundError: javax/swing/filechooser/FileFilter 
at com.teamdev.jxbrowser.chromium.swing.BrowserView.<init>(SourceFile:73) 
at com.ur.g5.runscreen.G5RunPanel.initComponents(G5RunPanel.java:227) 
at com.ur.g5.runscreen.G5RunPanel.<init>(G5RunPanel.java:85) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:85) 
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) 
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) 
at com.google.inject.Scopes$1$1.get(Scopes.java:65) 
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) 
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54) 
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) 
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) 
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84) 
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) 
at com.google.inject.Scopes$1$1.get(Scopes.java:65) 
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) 
at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) 
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974) 
... 49 more 
Caused by: java.lang.ClassNotFoundException: javax.swing.filechooser.FileFilter not found by com.teamdev.jxbrowser.chromium [32] 
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1558) 
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) 
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
... 77 more 
ERROR [Init thread] 19:37:24 19/09/17: ExtensionLoading error cuased by 
java.lang.NoClassDefFoundError: javax/swing/filechooser/FileFilter 
at com.teamdev.jxbrowser.chromium.swing.BrowserView.<init>(SourceFile:73) 
at com.ur.g5.runscreen.G5RunPanel.initComponents(G5RunPanel.java:227) 
at com.ur.g5.runscreen.G5RunPanel.<init>(G5RunPanel.java:85) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
at com.google.inject.internal.DefaultConstructionPrCaused by: java.lang.NoClassDefFoundError: javax/swing/filechooser/FileFilter at com.teamdev.jxbrowser.chromium.swing.BrowserView.(SourceFile:73) at com.ur.g5.runscreen.G5RunPanel.initComponents(G5RunPanel.java:227) at com.ur.g5.runscreen.G5RunPanel.(G5RunPanel.java:85) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:85) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.Scopes$1$1.get(Scopes.java:65) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54) at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.Scopes$1$1.get(Scopes.java:65) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974) ... 49 more Caused by: java.lang.ClassNotFoundException: javax.swing.filechooser.FileFilter not found by com.teamdev.jxbrowser.chromium [32] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1558) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 77 more ERROR [Init thread] 19:37:24 19/09/17: ExtensionLoading error cuased by java.lang.NoClassDefFoundError: javax/swing/filechooser/FileFilter at com.teamdev.jxbrowser.chromium.swing.BrowserView.(SourceFile:73) at com.ur.g5.runscreen.G5RunPanel.initComponents(G5RunPanel.java:227) at com.ur.g5.runscreen.G5RunPanel.(G5RunPanel.java:85) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:85) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.Scopes$1$1.get(Scopes.java:65) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54) at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)oxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:85) 
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) 
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) 
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) 
at com.google.inject.Scopes$1$1.get(Scopes.java:65) 
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) 
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54) 
at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978) 
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) 
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974) 
+1

JxBrowserは、 'javax.swing.filechooser'パッケージが必要であることを明示していないので、' javax.swing'パッケージだけがOSGiであるとは思われません。 MANIFEST.MFをインポートセクションに追加してハッキングすると、この問題は解決されます。 –

答えて

0

JxBrowserはOpenJDKのをサポートしていないsystem requirementsによります。 Oracle、Apple、およびIBM JDK/JREのみがサポートされています。

+0

OpenJDKを実行しても問題はないようですが、私たちが今後開発を進める中で心に留めておきます。問題の実際の解決方法については、上記のコメントを参照してください。 –

関連する問題