IntelliJ 没有看到资源文件夹

Posted

技术标签:

【中文标题】IntelliJ 没有看到资源文件夹【英文标题】:IntelliJ not seeing resources folder 【发布时间】:2012-09-01 17:48:24 【问题描述】:

我使用Maven Module 在 IntelliJ 中从头开始创建了一个新项目。我没有选择任何特定的原型,我点击完成。项目创建得很好,我在 src/main 下有 javaresources 文件夹,正如预期的那样。

很遗憾,我的应用程序在 resources 文件夹中找不到任何属性文件,因为它在项目基础文件夹中查找。

我仔细检查了资源文件夹在项目结构中被标记为“源文件夹”,我还尝试将以下内容添加到 pom.xml 中,但没有成功:

<resources>
  <resource>
    <directory>src/main/resources</directory>
  </resource>
</resources>

我正在使用 Maven 2.2.1 和 IntelliJ 11.1,有什么想法吗?

【问题讨论】:

IDEA 社区版 11.1.2 运行良好。自定义资源目录似乎没有,但默认目录 'src/main/resources' 很好看 见wiki.jetbrains.net/intellij/Maven_FAQ。 你那里有什么样的资源?如果是自定义类型(*.bin 等),您必须指定编译器以包含这些文件 您能给我们看一下您项目目录结构的屏幕截图或键入的文本版本吗? 还有一件事要尝试... IDEA 项目创建很糟糕,不幸的是。我总是使用mvn 命令行和archetype:generate 来创建新项目。然后我使用 POM 文件作为使用现有源创建新 IDEA 项目的一种方式(我认为)。如果您有 pom,请尝试删除所有 IDEA 项目文件(.ipr、.iml、.idea 等),然后使用 POM 文件创建一个新的 IDEA 项目。看看会发生什么... 【参考方案1】:

Intellij 12 中有一个错误,请转到 Settings->Compiler 并取消选中“Use external build”复选框 - 其背后的想法是假设编译器在单独的进程中运行时运行速度更快,但是实际上有一个错误,使用 maven 时它不会复制资源。

【讨论】:

链接到 IntelliJ 问题跟踪器中提及修复的相关条目:youtrack.jetbrains.com/issue/IDEA-97759 对于那些使用 IntelliJ IDEA 13 的用户,外部构建是唯一可用的选项,因为旧的编译器已被删除。因此,您将找不到任何“使用外部构建”复选框。【参考方案2】:

右击目录->“将目录标记为”->“资源根目录”

【讨论】:

【参考方案3】:

试试

<resources>
  <resource>
    <directory>src/main/resources</directory>
    <includes>
      <include>**/*</include>
    </includes>
  </resource>
</resources>

或在设置 -> 编译器 -> 资源模式下,添加资源模式(即 ?*.prefs)

【讨论】:

【参考方案4】:

答案很简单..! 只需在源代码中引用文件路径,如下所示:

src\\main\\resources\\FileName

& 它应该按预期工作。

【讨论】:

【参考方案5】:

有类似的问题。对我有用的解决方案:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("path").getFile());

【讨论】:

【参考方案6】:

我遇到了类似的问题并解决了。 我的问题不是 Intellij 问题,而是我的 pom.xml 中的错误 我错误地包含了这个:

<packaging>pom</packaging>

删除这个(或纠正它)解决了我的问题。

【讨论】:

以上是关于IntelliJ 没有看到资源文件夹的主要内容,如果未能解决你的问题,请参考以下文章

使用资源文件夹在使用 IntelLiJ 的 JavaFX 项目上加载图像

intellij idea无法将编译的class文件及新建的资源文件打进war包

JAR 中的资源未在 IntelliJ 中正确解析

Intellij IDEA 创建资源文件夹 source folder

Intellij IDEA 创建资源文件夹 source folder

IntelliJ 中的“更新资源”从目标目录中删除更新的文件