【问题标题】:Maven resource folder isn't created未创建 Maven 资源文件夹
【发布时间】:2011-11-18 04:19:18
【问题描述】:

我正在使用带有 m2e 插件的 Eclipse Indigo,并且我已在我的 pom.xml 的构建部分添加了一个 resources 标记。但是不会创建资源目录。我还调用了 Maven -> 更新项目配置...

<build>
    <finalName>...</finalName>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>false</filtering>
        </resource>
    </resources>

我错过了什么?

【问题讨论】:

  • 你是如何创建 maven 项目的?当我执行Create a new maven project 并选择Create a simple project (skip archetype selection 时,我会创建默认文件夹(src/main/javasrc/main/resouressrc/test/javasrc/test/resources,以及pom.xml)。
  • 感谢 Raughuram,我尝试了您的方法并创建了资源文件夹。我选择了一个简单的原型,但我不记得是哪个。
  • @Raghuram 我没有其他答案,你的建议足以让我解决问题,你能提供一个我会接受的简短答案吗?

标签: maven


【解决方案1】:

如果资源文件夹本身不存在,则在文件夹 main 下创建文件夹。然后右键单击项目,转到 Maven -> 更新项目。它对我有用。

【讨论】:

  • 在“src/main”和“src/test”下添加一个“resources”文件夹,然后右键单击项目并点击 Maven -> Update Project... 对我有用。
  • @AdilHussain :你是救命的兄弟,正是完成答案所需要的
  • @Thiruppathy ,超级!!
【解决方案2】:

看来您可能没有正确创建 maven 项目。也许您可能选择了一个原型,但它并没有正确地做到这一点。

一种可能的方法(对我有用)如下:

当我创建一个新的 maven 项目并选择创建一个简单的项目(跳过原型选择时,我确实创建了默认文件夹(src/main/javasrc/main/resourcessrc/test/javasrc/test/resources,以及pom.xml)。

【讨论】:

  • 不要有错字 ;-) - 使用 src/main/resources 而不是 src/main/resoures
【解决方案3】:

作为创建新项目的替代方法,您还可以通过执行以下操作来修复现有项目:

  1. 从 Eclipse 中无损删除项目,即不要选中“删除磁盘上的项目内容”
  2. 在文件系统中,删除 .settings/、.classpath 和 .project 文件。
  3. 同样在文件系统中,在 src/main 和 src/test 下添加资源文件夹。
  4. 在 Eclipse 中,使用项目文件夹作为根目录执行“现有 Maven 项目”导入。

【讨论】:

  • 很棘手,但确实有效。如果您尝试此方法并可能先备份您的工作区,请小心。
【解决方案4】:

这个标签&lt;resource&gt;

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

此时不需要,因为这是 maven 寻找的默认资源文件夹。只需要添加这个

<resources>
    <resource>
       <directory>src/newDir/dir</directory>
    </resource>
</resources>

如果您要使用不同的文件夹作为项目的资源,请在 pom.xml 中。

【讨论】:

    【解决方案5】:

    您可以在文件系统中创建文件夹,之后,您可以更改项目根目录下的 pom.xml 旁边的 .classpath 文件

    只需添加如下内容:

     <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
            <attributes>
                <attribute name="maven.pomderived" value="true"/>
            </attributes>
     </classpathentry>
    

    创建文件夹并更新 .classpath 后,您只需在 Eclipse 中刷新 (F5)。

    PS:我不知道这是否取决于您的 Maven 版本,请检查它是否与您拥有的其他“类路径条目”相似。

    【讨论】:

    • 像魅力一样工作
    【解决方案6】:

    如果您在 Java 资源中只获得一个文件夹(即 src/main/java),并且如果您正在寻找其他文件夹(src/main/resoures、src/test/java),请执行以下步骤: [不要忘记配置服务器(如Tomcat)]

    1)右键单击您的项目 2)构建路径 3)配置构建路径 4)图书馆 5)添加库 6)服务器运行时 7)然后选择您的服务器(在我的情况下,我选择了Tomcat) 8)完成

    【讨论】:

      【解决方案7】:

      每个 Maven Archetype 都有不同的目录结构。在此处查看有关不同可用原型的 Maven 网站:https://maven.apache.org/archetypes/index.html

      选择 Maven Archetype 时,您可以点击上面的链接并单击各种原型,它会显示每个原型附带的目录结构。例如,Maven 简单项目原型如下所示: Maven Simple Project Archetype directory structure

      【讨论】:

        【解决方案8】:

        这对我有用。 -> 在 Java Build Path 中勾选 JRE System library 和 Maven Dependencies 并单击 Apply 并关闭。

        【讨论】:

          【解决方案9】:

          我的 Maven 项目是在没有 src/main/resource 和 src/test/resource 的情况下创建的。我尝试了以下步骤:

          Create New Maven Project-->在“New Maven Project”屏幕上-->勾选“Create a simple project(skip archetype selection)”-->提供项目名称-->点击Finish

          现在您可以看到创建的资源文件夹。

          【讨论】:

            【解决方案10】:

            如果您使用 intellij 作为 IDE,您可以通过右键单击项目中的主文件夹来简单地创建资源目录并尝试创建一个新目录,如果您还没有 maven 的资源目录项目,intellij 有一个建议供您创建。

            【讨论】:

              【解决方案11】:

              我清理了我的项目并以这种方式解决了我的问题。

              菜单 > 项目 > 清理...

              【讨论】:

                最近更新 更多