我正在尝试从Java应用程序内部访问CentOS 6.3系统上的NFS共享。 我尝试了以下库,但无法使其正常工作:
YaNFS
使用YaNFS尝试访问NFS共享时,遇到NfsException错误代码10001(NFSERR_BADHANDLE)。有时异常文本会显示“过时的NFS文件句柄”。我的YaNFS代码如下:
public static void main(String[] args) {
XFile xf = new XFile("nfs://192.168.1.10/nfs-share");
nfsXFileExtensionAccessor nfsx =
(nfsXFileExtensionAccessor)xf.getExtensionAccessor();
if (! nfsx.loginPCNFSD("192.168.1.10", "rpx-nfs-user", "Test123!")) {
System.out.println("login failed");
return;
}
if (xf.canRead())
System.out.println("Read permission OK");
else
System.out.println("No Read permission");
}
nfs-client-java
尝试使用“nfs-client-java”初始化Nfs3对象时,我遇到了一个类似于MountException的异常:
com.emc.ecs.nfsclient.mount.MountException: mount failure,
server: 192.168.1.205,
export: /home/share,
nfs version: 3,
returned state: 13
at com.emc.ecs.nfsclient.nfs.nfs3.Nfs3.lookupRootHandle(Nfs3.java:359)
该点的状态为13,显示“权限被拒绝”。
我可以从另一个具有访问此文件夹 uid 和 gid 授权的 CentOS 系统以及具有访问此文件夹登录名和密码授权的 Windows 系统中挂载此共享并访问它。
是否有人已经解决了这个问题?或者有人可以帮助我进一步吗?