我在一个 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/