Eclipse显示错误的项目路径

时间:2017-03-09 19:08:10

标签: java eclipse maven

我在eclipse中有一个maven web项目。我需要获取项目的路径,实际上必须获取项目中src\main\resources\someFolder下的文件列表。

尝试String dataDir = "src\\main\\resources\\someFolder";,运行此目录结构是在F:\softwares\eclipse\eclipse\src\main\resources\someFolder之类的eclipse文件夹中创建的。使用/代替\\时相同。

尝试System.getProperty("user.dir")new File(".").getAbsolutePath(),他们返回F:\softwares\eclipse\eclipse

我需要访问工作区F:\workspace\Project\src\main\resources\someFolder

中的项目文件夹

但是当创建一个核心Java应用程序并使用System.getProperty("user.dir")new File(".").getAbsolutePath()时,我将在工作区中获取项目路径F:\workspace\Project。这个src\\main\\resources\\someFolder也可以正常工作。

为什么这个来自日食的奇怪行为?

1 个答案:

答案 0 :(得分:0)

如上所述here,目录user.dir是JVM启动的地方。由于Web应用程序主要是放在服务器文件夹中某处的jar / war / ear包,因此eclipse以不同的方式处理它们,因为这种Web应用程序的行为是不同的。您不能指望从jar / war / ear文件外部访问文件。在jar / war / ear文件中,src / main / resources中的所有内容都可以通过使用getResourceAsStream来获得,如许多其他stackoverflow文章中所述。这样您就不能使用src/main/resources/myfile.txtmyfile.txt

请勿尝试猜测或使用user.dir / JVM / server启动文件夹的内容!