首页 > 解决方案 > Java 翻译反射调用程序的文件 API 路径

问题描述

我正在尝试在 Java 中实现类似虚拟机的东西。是的,它需要用 java 制作,因为它包装了一些已经编码的 java 库并实现了它的抽象。但就问题...

实际的问题是它旨在运行为在 UNIX 平台上运行而编写的 java 程序(例如,它们需要登录到 /var/log)。我可以加载 jar,并通过调用 main 方法启动它......但真正的问题在于,每当文件尝试访问文件系统时,它就会崩溃,因为文件系统的格式不正确(例如,它缺少 /var/volatile因为它通常用于嵌入式系统,但很少用于完整的桌面)。我正在寻找一种解决方案,将默认的 Java java.nio.File 抽象路径名转换为其他位置,或者在文件中创建虚拟 FS(如循环设备),或任何类似的东西,就像程序的 chroot 一样。我在网络上找不到这个问题的单一灵魂。其背后的真正原因是允许任何平台的用户运行虚拟机无需修改在 VM 中运行的程序的源代码。

非常感谢。

标签: javafilesystemsvirtual-machinechrootjava.nio.file

解决方案


推荐阅读