从java访问NFS共享

时间:2015-09-22 20:50:19

标签: java nfs

我正试图从我们的Java应用程序中找出一种方法来访问NFS共享(理想情况下是所有权限,但我现在只能阅读)。我花了大部分时间进行研究,而我最接近的是yanfs project(nee WebNFS),但它似乎没有更新,因为它没有任何文件无论是。我用它进行了一些低级实验,但那些都没有成功。

由于我们的应用程序的性质,我不能预先安装卷(可能有零到多),我想尽可能避免在程序内调用sudo mount。不幸的是,这种方法是我能想到的唯一半可行的解决方案。任何建议都会受到欢迎。

另外:没有现代的NFS java客户端库?真?这可能不对。

2 个答案:

答案 0 :(得分:1)

由于时间至关重要,我们现在要作弊。所以这是我制定的解决方案,以防任何人后来出现。 我像@dsh建议的那样调查了autofs。使用Autofs,我将/etc/auto.master文件设置为具有以下行:

/mnt/fromNFS    /usr/local/etc/auto.fromNFS --timeout=60

然后我触摸了/usr/local/etc/auto.fromNFS并将其所有权更改为运行应用的用户和组。 现在我可以按字母顺序修改auto.fromFNS文件以包含给定nfs共享的行。当我然后去访问该目录时,很好地安装它而不需要sudo。 它不理想但看起来它现在可以完成工作。 感谢大家的建议。

答案 1 :(得分:0)

您是否已签出此库https://github.com/dCache/nfs4j

它具有用于NFSv3,NFSv4和NFS4.1的服务器和客户端纯Java实现。

它有点低级,没有像yaNFS中的XFile那样提供简单的用法。

因此,您需要做一些工作来读写文件,但是至少可以完成工作,无需挂载即可访问NFS导出。

您可以在项目存储库中找到一些文件访问示例。