java - Linux 和 Windows 上的路径变量

标签 java windows linux path

我在一个 Java 项目中有几个路径变量,它们在 Linux 上运行良好。这些变量存储在 .properties 文件中,并在 Spring 应用程序上下文中使用。这是一个有效的名称变量示例:just.an.example=/home/username/settings/。很简单,对吧?我试图在 Windows 机器上运行这个应用程序。我尝试了以下方法:just.an.example=d:/settings/, just.an.example=d\:/settings/, just.an .example=d\:\\settings\\, just.an.example=file:///d:/settings/ 和其他几个,都没有用。

我收到 NullPointerException,这是尝试使用从文件夹中获取的文件的原因(这让我认为无法看到该文件夹​​)。更具体地说,这些变量用作 File 类构造函数的参数。访问文件夹的权限是默认的,我刚刚创建了它们。

这个示例变量的工作选项是什么?

更新:它终于与just.an.example=D:/settings/一起工作了,不知何故我不得不在重新安装后重新导入Maven项目,而不仅仅是更新依赖项,但 D:/settings/ 在这种情况下工作正常。

最佳答案

如果 /home/username/settings/ 等同于 D:/settings/,则最后一个是正确的。正斜杠对此很有效,我已经多次做过这种事情。如果您可以通过 Windows 资源管理器访问 D:/settings/,那么 Java 应该也可以。尝试在 Windows 资源管理器中粘贴 D:/settings/,看看会发生什么。

关于java - Linux 和 Windows 上的路径变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11281287/

相关文章:

java - Spring Boot 从 YAML(属性)文件中读取数组

java - 创建该对象的新实例时滚动浏览对象

java - Hibernate Inheritance.JOINED 生成的 FK 名称

c++ - 主板 ID - WMI C++ - 可靠吗?

python - 为什么 Windows 上的 Cython 扩展依赖于 pythonXX.dll 而不是 MacOSX?

linux - 终端中的 Sips 命令不起作用 - "Error 4: no file was specified"

php - 上传的 PHP 脚本不刷新

java - 为什么我的应用程序在关闭主窗口后仍然运行?

c++ - 串口写成功,读失败

c - 为什么有些内核程序员使用 goto 而不是简单的 while 循环?