System.getProperty(“user.dir”)在通过Web服务执行时给出了eclipse的路径

时间:2015-09-29 09:02:34

标签: java web-services

从简单的java类执行System.getProperty(“user.dir”)时,它为我提供了像workspace / projectName这样的正确路径。但是当我在REST Web服务的服务方法中编写相同的代码并通过chrome上的客户端应用程序执行它时,它为我提供了eclipse所在的路径,而不是当前目录。有没有办法获取当前工作目录的路径或java文件(服务)所在的路径。我需要这个,因为我想读取一个与java文件位于同一路径的属性文件。

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,并使用配置更改解决了问题。使用Run - >更改Eclipse中工作目录的位置运行配置。在Arguments选项卡上,选择Other单选按钮,并将Workspace或任何自定义位置指定为工作目录。

答案 1 :(得分:0)

  

有没有办法获取当前工作目录的路径

是。您已经获得了运行应用程序时生效的当前目录。

  

...它为我提供了eclipse所在的路径而不是当前目录。

抱歉......但那是当前目录。是的...>> IT IS<<如果您不同意,那么您对“当前目录”的含义的理解是不正确的。

  

...或java文件(服务)所在的路径。我需要这个,因为我想读取一个与java文件位于同一路径的属性文件。

没有办法可移植和可靠地做到这一点。 (当然,您可以将不动产文件的绝对路径放入第二个属性文件中......但是您遇到了查找第二个属性文件的问题...)

解决方案是:

  • 将属性文件放在JAR文件中,并使用getResourceAsStream(path)访问它。

  • 将属性文件放在一个众所周知的位置;例如用户的主目录。 (实际上,主目录可能是服务的不良选择。)