Windows 没有 symlink,但有一个 mklink 工具能在 NTFS 上创建类似 Linux 的符号链接,从而让一些需要绝对路径的操作变成相对路径,避免一些跨 linux 和 windows 的程序在解析带盘符路径时遇到问题。
然而鸡掰 Java 虚拟机总是将 mklink 创建的 symlink 还原回原始路径,让这个方法不可用。
可能是 Java 适配了 window 的 symlink,并把它当成传统的快捷方式,不改变代码时类似./def/temp(<==>E:\abc\temp)的地址会变成访问 E:\abc\temp,这样在访问类似./def/temp/../ 的路径时,Java 实际在访问 E:\abc 或者./def/E/abc/../ 这样的路径,而不是./def,让一些没有做系统适配的程序出问题。
请问如何修改设置避免 windows 上 Java 将 symlink 解析回源路径。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.