Maven资源文件夹未被创建

37

我正在使用带有m2e插件的Eclipse Indigo,并在我的pom.xml的构建部分中添加了一个resources标签。 然而,资源目录没有被创建。 我还调用了Maven->更新项目配置...

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

我缺少了什么?


2
你是如何创建Maven项目的?当我选择“创建一个简单项目(跳过原型选择)”并执行“创建新的Maven项目”时,会自动创建默认文件夹(src/main/java、src/main/resources、src/test/java、src/test/resources),同时也会生成pom.xml文件。 - Raghuram
谢谢Raughuram,我尝试了你的方法,已经创建了resources文件夹。我选择了一个简单的原型,但我想不起来是哪个了。 - stivlo
@Raghuram,我没有其他的答案,你的建议足以帮我解决问题,你能否提供一个简短的答案,我会接受它? - stivlo
11个回答

51
如果资源文件夹本身不存在,请在main文件夹下创建该文件夹。然后右键单击项目,选择Maven -> 更新项目。这对我起了作用。

11
在“src/main”和“src/test”下添加一个名为“resources”的文件夹,然后右键单击项目,选择Maven -> Update Project... 就可以了。 - Adil Hussain
2
@AdilHussain:你是救命稻草,兄弟,正是我需要完成答案的东西。 - NIKHIL CHAURASIA
@Thiruppathy,太棒了!! - Kms

46

看起来您可能没有正确创建Maven项目。也许您选择了一个不正确的原型。

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

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


3
请注意,正确的拼写是 "src/main/resources",而不是 "src/main/resoures"。请使用前者进行文件路径。 - Josh

7
作为创建新项目的替代方案,您也可以通过以下方式修复现有项目:
  1. 在Eclipse中进行非破坏性删除项目,即不要勾选“删除磁盘上的项目内容”
  2. 在文件系统中,删除.settings/、.classpath和.project文件。
  3. 同样在文件系统中,在src/main和src/test下添加资源文件夹。
  4. 在Eclipse中,使用项目文件夹作为根目录进行“现有Maven项目”导入。
请注意,保留HTML标记。

1
有些棘手,但确实可以这样做。如果您尝试此方法,请小心,并备份您的工作区。 - William Symionow

7
这个标签是 <resource>
<resources>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
</resources>

当前并不需要此项,因为它是Maven默认寻找的资源文件夹。只需添加这个即可。
<resources>
    <resource>
       <directory>src/newDir/dir</directory>
    </resource>
</resources>
在您的pom.xml文件中,如果您要使用不同的文件夹作为项目资源,请进行相应设置。

5
您可以在文件系统中创建文件夹,之后您可以更改项目根目录下的 .classpath 文件和 pom.xml 文件。只需添加如下内容:
 <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
 </classpathentry>

创建文件夹并更新.emlclasspath后,您只需要在Eclipse中刷新(按F5)即可。
注:我不知道这是否取决于您的maven版本,请检查它是否类似于您已有的其他“classpathentry”。

2

如果您只在Java Resources(即src/main/java)中获取到一个文件夹,而且您正在寻找其他文件夹(src/main/resources、src/test/java),请按照以下步骤操作:[不要忘记配置服务器(如Tomcat)]

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


1

0

这对我有用。-> 在Java Build Path中选中JRE System library和Maven Dependencies,然后点击应用并关闭。


0

如果您使用IntelliJ作为IDE,您可以通过右键单击项目中的主文件夹并尝试创建新目录来轻松创建资源目录。如果您的Maven项目还没有资源目录,IntelliJ会建议您创建它。


0
我的Maven项目创建时没有src/main/resource和src/test/resource。我尝试了以下步骤:
创建新的Maven项目-->在"新建Maven项目"屏幕上-->勾选"创建简单项目(跳过原型选择)"-->提供项目名称-->点击完成
现在你可以看到资源文件夹已经创建好了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接