【发布时间】:2012-07-02 03:16:12
【问题描述】:
我在一个 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/在这种情况下工作正常。
【问题讨论】:
-
试试 D:\\Settings\\ - 在这里查看特殊字符和转义部分 - commons.apache.org/configuration/userguide/…
-
基本上 d:/settings/ 应该可以正常工作,通常重新启动计算机会有所帮助。
-
@ftom2 好吧,不,这可能不应该工作。又和重启有什么关系?
-
@verisimilitude 这很有希望,但没有奏效。
-
我所说的“应该工作”的意思是,这是在 Windows 上定义环境变量的方式。在Java程序使用的windows上定义环境变量时,有时会在定义变量后重新启动计算机,以便Java程序识别它(定义/更新后仅重新启动一次)