提问人:Ethan McCue 提问时间:11/10/2023 更新时间:11/10/2023 访问量:18
是否有任何标准化的跨平台方法来表示相对文件路径?
Is there any standardized, cross-platform, way to represent relative file paths?
问:
我正在开发一个工具来处理JVM上的依赖关系解析。我希望用户以包 url 的形式向我提供 maven 坐标,然后我输出包含其依赖项的文件路径列表。
jresolve pkg:maven/com.fasterxml.jackson.core/[email protected]
/Users/emccue/.jresolve/cache/https/repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar:/Users/emccue/.jresolve/cache/https/repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar:/Users/emccue/.jresolve/cache/https/repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.15.2/jackson-databind-2.15.2.jar
因为这打算用于 ,我还支持在文件系统上提供路径,这些路径将按原样转发到生成的路径上。--class-path
jresolve some/path
some/path
我的问题是,我真的想让人们用 来指定文件路径,因为这是一个实际的 url 和标准化格式。file:///
jresolve file:///some/path
/some/path
一个非常巧妙的属性是,我可以轻松地将其转换为特定于操作系统的路径。
\some\path
但是以这种方式指定的路径是我找到的每个规范的绝对路径。因此,前斜杠。
所以我的问题是:是否有任何格式具有标准或事实上的标准,可以以与操作系统无关的方式表示相对文件路径?
答: 暂无答案
评论
file:///
指定文件路径......”——对不起,我不明白这一点,因为根据定义,这是一个绝对路径;与操作系统无关的相对文件路径从字面上看是这样的形式(如果我误解了这个问题,请原谅我,但恕我直言,绝对引用通常是一件坏事,因为人们不喜欢和/或由于他们无法控制的原因无法指定与其系统根目录相关的内容)some/path
file:///