【发布时间】:2015-03-02 23:23:23
【问题描述】:
我遇到了同样的问题: How do I use JCIFS with apache VFS to access an SMB URL?
...在类路径中包含 commons-vfs-sandbox-2.1-SNAPSHOT.jar 后,我现在得到了这个异常:
Exception in thread "main" org.apache.commons.vfs2.FileSystemException: Could not determine the type of file "smb://10.10.18.210/CIFS/123/asd".
at org.apache.commons.vfs2.provider.AbstractFileObject.attach(AbstractFileObject.java:1522)
at org.apache.commons.vfs2.provider.AbstractFileObject.getType(AbstractFileObject.java:489)
at org.apache.commons.vfs2.provider.AbstractFileObject.exists(AbstractFileObject.java:477)
at VFSTest.main(VFSTest.java:19)
Caused by: jcifs.smb.SmbAuthException: Logon failure: account currently disabled.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:549)
at jcifs.smb.SmbTransport.send(SmbTransport.java:667)
at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:390)
at jcifs.smb.SmbSession.send(SmbSession.java:218)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
at jcifs.smb.SmbFile.doConnect(SmbFile.java:911)
at jcifs.smb.SmbFile.connect(SmbFile.java:954)
at jcifs.smb.SmbFile.connect0(SmbFile.java:880)
at jcifs.smb.SmbFile.queryPath(SmbFile.java:1335)
at jcifs.smb.SmbFile.exists(SmbFile.java:1417)
at jcifs.smb.SmbFile.isDirectory(SmbFile.java:1490)
at org.apache.commons.vfs2.provider.smb.SmbFileObject.createSmbFile(SmbFileObject.java:118)
at org.apache.commons.vfs2.provider.smb.SmbFileObject.doAttach(SmbFileObject.java:70)
at org.apache.commons.vfs2.provider.AbstractFileObject.attach(AbstractFileObject.java:1505)
... 3 more
请指教。
【问题讨论】:
-
这个错误似乎不言自明。你有什么问题?
-
我正在使用纯 JCIFS API 成功写入文件。只是我无法通过 commons-vfs 做到这一点。问题是 vfs api“无法确定文件 smb://... 的类型”。为什么?
-
为什么?该错误是(引用):“引起:jcifs.smb.SmbAuthException:登录失败:帐户当前已禁用。”。
-
正如我所说,我可以使用 jcifs-1.17 API 以相同的帐户、相同的凭据成功完成此操作。该帐户绝对没有被禁用。 apache vfs smb 提供程序有问题。我可能错过了一个罐子,但我不知道是哪一个。请看:stackoverflow.com/questions/11612690/…
-
不,它看起来不像 JAR 问题。它看起来更像是一个配置问题。你是如何指定用户名的? bTW:你不会把 VFS 2.0 和 smb-provider 2.1 混在一起,对吧?
标签: java apache smb jcifs apache-commons-vfs