4

Android プロジェクトで Apache Commons VFS ライブラリを使用したいと考えており、関連ファイルをhttp://commons.apache.org/vfs/download_vfs.cgiからダウンロードしました。でも。私はいくつかの問題を抱えています。

commons-vfs2-2.0.jar ファイルを Android プロジェクトの /libs/ サブディレクトリにコピーし、Eclipse の Java ビルド パスで参照しました。また、Commons VFS (http://commons.apache.org/vfs/download.html) で使用される Commons Logging ライブラリも参照しました。

すべてが正常にコンパイルされますが、次のコード行を試すとすぐに

FileSystemManager fsManager = VFS.getManager();

例外があります。スタック トレースは次のとおりです。

02-06 16:22:29.724: ERROR/Fatal Error(20515): Could not create a file system manager   of class "org.apache.commons.vfs2.impl.StandardFileSystemManager".
02-06 16:22:29.724: ERROR/Fatal Error(20515): org.apache.commons.vfs2.FileSystemException: Could not create a file system manager of class "org.apache.commons.vfs2.impl.StandardFileSystemManager".
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.VFS.createManager(VFS.java:99)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.VFS.getManager(VFS.java:50)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at gymApp.gymAppPackage.Utility.test(Utility.java:391)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at gymApp.gymAppPackage.HomeActivity.onCreate(HomeActivity.java:51)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2466)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2519)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at android.app.ActivityThread.access$2200(ActivityThread.java:123)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1870)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at android.os.Looper.loop(Looper.java:123)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at android.app.ActivityThread.main(ActivityThread.java:4370)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at java.lang.reflect.Method.invokeNative(Native Method)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at java.lang.reflect.Method.invoke(Method.java:521)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at dalvik.system.NativeStart.main(Native Method)
02-06 16:22:29.724: ERROR/Fatal Error(20515): Caused by: org.apache.commons.vfs2.FileSystemException: Could not load VFS configuration from "jar:file:/data/app/gymApp.gymAppPackage.apk!/org/apache/commons/vfs2/impl/providers.xml".
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.impl.StandardFileSystemManager.configure(StandardFileSystemManager.java:199)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.impl.StandardFileSystemManager.init(StandardFileSystemManager.java:123)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at java.lang.reflect.Method.invokeNative(Native Method)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at java.lang.reflect.Method.invoke(Method.java:521)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.VFS.createManager(VFS.java:88)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     ... 16 more
02-06 16:22:29.724: ERROR/Fatal Error(20515): Caused by: org.apache.commons.vfs2.FileSystemException: Could not create file provider of class "org.apache.commons.vfs2.provider.local.DefaultLocalFileProvider".
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.impl.StandardFileSystemManager.createInstance(StandardFileSystemManager.java:490)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.impl.StandardFileSystemManager.addProvider(StandardFileSystemManager.java:371)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.impl.StandardFileSystemManager.configure(StandardFileSystemManager.java:270)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.impl.StandardFileSystemManager.configure(StandardFileSystemManager.java:195)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     ... 20 more
02-06 16:22:29.724: ERROR/Fatal Error(20515): Caused by: java.lang.ClassNotFoundException: org.apache.commons.vfs2.provider.local.DefaultLocalFileProvider in loader dalvik.system.PathClassLoader@400264d8
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     at org.apache.commons.vfs2.impl.StandardFileSystemManager.createInstance(StandardFileSystemManager.java:485)
02-06 16:22:29.724: ERROR/Fatal Error(20515):     ... 23 more

インストールに基本的な問題があるようですが、それが何であるかはわかりません (Java は私の母国語ではありません;)。これが Android プロジェクトであることを考えると、何か特別なことをする必要がありますか? どんなポインタでも大歓迎です。

4

1 に答える 1

2

私はまったく同じ問題を抱えていました。

私は commons-vfs ソース コードを入手し、コードからプラグインの初期化までエラーを追跡しました。一部のファンキーなクラス ローダーは、S3 JAR で vfs-providers.xml を発見し、URL がプラグインを必要としないにもかかわらず、それを初期化しようとしていました。

S3 プロバイダーの JAR を WEB-INF/lib ディレクトリから削除すると、すべて正常に機能しました。

于 2014-04-12T10:32:49.887 に答える