Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse显示错误的项目路径_Java_Eclipse_Maven - Fatal编程技术网

Java Eclipse显示错误的项目路径

Java Eclipse显示错误的项目路径,java,eclipse,maven,Java,Eclipse,Maven,我在eclipse中有一个maven web项目。我需要获取项目的路径,实际上需要获取项目中src\main\resources\someFolder下的文件列表 已尝试String dataDir=“src\\main\\resources\\someFolder”,在运行时,此目录结构在eclipse文件夹中创建,如F:\softwares\eclipse\eclipse\src\main\resources\someFolder。使用/而不是\\时相同 尝试System.getProper

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

已尝试
String dataDir=“src\\main\\resources\\someFolder”,在运行时,此目录结构在eclipse文件夹中创建,如
F:\softwares\eclipse\eclipse\src\main\resources\someFolder
。使用
/
而不是
\\
时相同

尝试
System.getProperty(“user.dir”)
新文件(“.”).getAbsolutePath()
,它们返回
F:\softwares\eclipse\eclipse

我需要访问我的工作区中的项目文件夹
F:\workspace\project\src\main\resources\someFolder

但是,当创建一个核心java应用程序并使用
System.getProperty(“user.dir”)
新文件(“.”.getAbsolutePath()
)时,我在工作区中获得了项目路径,
F:\workspace\project
。这个
src\\main\\resources\\someFolder
也可以正常工作

为什么eclipse会出现这种奇怪的行为?

如前所述,目录
user.dir
是JVM启动的地方。由于web应用程序大多是jar/war/ear包,所以eclipse以不同的方式处理它们,因为这样的web应用程序的行为是不同的。您不能期望从jar/war/ear文件外部访问文件。在jar/war/ear文件中,src/main/resources中的所有内容都可以通过使用getResourceAsStream获得,如许多其他stackoverflow文章中所述。这样你就不能使用
src/main/resources/myfile.txt
,而是
myfile.txt

不要试图猜测或使用user.dir/JVM/server start文件夹是什么

如前所述,目录
user.dir
是JVM启动的地方。由于web应用程序大多是jar/war/ear包,所以eclipse以不同的方式处理它们,因为这样的web应用程序的行为是不同的。您不能期望从jar/war/ear文件外部访问文件。在jar/war/ear文件中,src/main/resources中的所有内容都可以通过使用getResourceAsStream获得,如许多其他stackoverflow文章中所述。这样你就不能使用
src/main/resources/myfile.txt
,而是
myfile.txt

不要试图猜测或使用user.dir/JVM/server start文件夹是什么