当前位置: 首页 > 面试题库 >

在Eclipse中将Java项目的资源(图像,数据文件等)存储在哪里?

慕鹏
2023-03-14
问题内容

不确定是否已经在SO上回答了这个基本问题。

从参考文献以及在SO上找到的答案,我了解到在Eclipse中
,“源文件夹”是JDT用来搜索源文件并进行
编译的文件夹。

还提到了每个源文件夹都可以有一个副本来
存储编译的类。也许这就是为什么将
项目通常的“ src”文件夹的内容编译为“ bin”文件夹的原因(
在Eclipse中使用此类src / bin项目选项时)。

问题:哪里可以存储其他非源文件,例如图标,
安全策略或数据文件?我猜这是在“常规”文件夹中,但是
(通常)在项目层次结构的哪个级别?是否可以将其放在
源文件夹中(我们为什么要这样做)?编译
或导出到.jar文件后,在哪种情况下将文件复制到
.jar中会发生什么?相对路径是否保留?


问题答案:

这纯粹是常规的。您可以根据需要将它们全部存储在其中src。

但是,如果您要坚持使用Maven或Gradle约定,则应该
具有以下内容:

  • src/main/java:主源文件,将被编译然后分发(jar等)
  • src/main/resources:主要资源,分布。
  • src/test/java:测试源文件,又名Junit测试
  • src/test/resources :测试资源。

Maven会将所有Java编译为target/classes并将所有资源复制到
arget/classes。为了进行测试,它将为target/test-classes。

此外,如果要访问资源,则在类所在的Jar中访问该资源,则不应使用new File("..."),Paths.get(...)而应该使用getResourcesAsStream或其对应的getResource

try (Scanner scanner = new Scanner(MyClass.class.getResourceAsStream("/myfile.txt"))) {
  while (scanner.hasNextLine()) {
    System.out.println(scanner.nextLine());
  }
}

如果/myfile.txt找不到,这可能会抛出NPE 。



 类似资料:
  • 问题内容: 我有一个非常简单的属性文件测试,我正试图开始工作:(以下是TestProperties.java) 和TestProperties.properties在同一目录中: 我也将其另存为 当我从Eclipse运行TestProperties.java时,找不到属性文件: 难道我做错了什么? 问题答案: 将其放在您的源路径之一的根目录下,或在对的调用中完全限定资源名称,例如 有关更多信息,请

  • 我想有一个地方来存储我的图像文件,以便在我的Java项目中使用(一个非常简单的类,它只是将图像加载到面板上)。我找遍了所有的地方,都找不到如何做到这一点。我该怎么做? 我已经尝试向项目添加一个新文件夹,向项目添加一个新类文件夹,向项目添加一个新源文件夹。无论我做什么,我总是得到一个。文件夹总是说它们在构建路径上,所以我不确定该怎么做。 编辑:对我起作用的东西是将文件夹添加为类文件夹,然后将其删除,

  • 从IDEA 2018.2.1开始,IDE从模块化的依赖项中启动“不在模块图中”的错误突出显示包。我添加了一个文件到我的项目,并添加了必要的语句,但是我现在无法访问我的目录中的资源文件。 (有关完整示例,请参见此GitHub项目。) 当我使用或生成的包装器脚本时,我能够读取资源文件,但是当我从IDE运行我的应用程序时,我不能。 我向JetBrains提交了一个问题,我了解到IDEA正在使用模块路径,

  • 问题内容: 我已经卸载了wamp服务器,现在我需要恢复数据库。我该如何做? 问题答案: 无论如何,您都可以知道: 感谢MySql论坛的Barry Galbraith http://forums.mysql.com/read.php?10,379153,379167#msg-379167

  • 问题内容: 我已经搜索了一种将资源嵌入Java项目中的方法(使用Eclipse v3.6.0),然后在控件中使用该嵌入的资源(例如)。我已经看到了从文件系统引用资源的方法。项目开发完成后,我想将应用程序发布为可执行文件。应当注意,这些可执行文件将部署/启动到Windows,* NIX和Linux平台。 我知道可以在Visual Studio世界中完成此操作,但是我对如何在Java / Eclips

  • 在我当前的spring boot项目中,我的视图有以下几行: 引用静态css文件。当我运行项目并访问引用此文件的视图之一时,我会收到404未找到错误或403未经授权的错误,具体取决于我将文件放在项目中的位置。 到目前为止,我一直在尝试: 存储此类文件的正确位置是什么?