如何将DefaultFileSystemProvider设置为使用,例如,JimfsFileSystemProvider?FileSystems.getDefault()的javadoc说我需要设置一个系统属性,但是当我尝试这样做的时候,我会得到一个NoSuchMethodException。
System.setProperty("java.nio.file.spi.DefaultFileSystemProvider",
"com.google.common.jimfs.JimfsFileSystemProvider");
FileSystems.getDefault();堆栈跟踪:
java.lang.Error: java.lang.NoSuchMethodException: com.google.common.jimfs.JimfsFileSystemProvider.<init>(java.nio.file.spi.FileSystemProvider)
at java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:128)
....我需要设置其他的东西还是jimfs中的bug?
发布于 2014-09-10 11:09:27
FileSystems.getDefault()的javadoc声明:
...the默认
FileSystemProvider通过调用一个参数构造函数(其形式参数类型为FileSystemProvider)来实例化。
因为JimfsFileSystemProvider没有这样的构造函数,所以不能将它设置为默认的文件系统。
这正是错误的含义:
java.lang.Error: java.lang.NoSuchMethodException: com.google.common.jimfs.JimfsFileSystemProvider.<init>(java.nio.file.spi.FileSystemProvider)方法<init>是构造函数,没有找到带有参数java.nio.file.spi.FileSystemProvider的构造函数。
https://stackoverflow.com/questions/25763620
复制相似问题