Java 如何在Maven中指定额外的源/资源文件夹,以便IDE知道它们?

Java 如何在Maven中指定额外的源/资源文件夹,以便IDE知道它们?,java,eclipse,maven,pom.xml,Java,Eclipse,Maven,Pom.xml,我是一个Maven初学者,在经过一些尝试和错误之后,我设法为发布战指定了不同的属性文件,而开发战是我试图用我能想到的最简单的方式来完成的,但是可以自由地提出任何更简单的解决方案 因此,在开发过程中,我的database.properties和log4j.properties来自src/main/resources,而发布战争则来自src/main/resources/release 到目前为止,一切顺利 问题是:既然我在使用Eclipse,有没有办法在POM中说src/main/resource

我是一个Maven初学者,在经过一些尝试和错误之后,我设法为发布战指定了不同的属性文件,而开发战是我试图用我能想到的最简单的方式来完成的,但是可以自由地提出任何更简单的解决方案

因此,在开发过程中,我的database.properties和log4j.properties来自src/main/resources,而发布战争则来自src/main/resources/release

到目前为止,一切顺利

问题是:既然我在使用Eclipse,有没有办法在POM中说src/main/resources/release也是一个源文件夹,以便Eclipse将它列在Project Explorer中的其他源文件夹下,即使其他开发人员在其IDE中导入项目,即不手动将该文件夹添加为源文件夹

这是我的POM的相关部分:

4.0.0 ... UTF-8 / org.apache.maven.plugins maven编译器插件 ... org.apache.maven.plugins maven战争插件 ... org.apache.tomcat.maven tomcat7 maven插件 ... ... 释放 根 符合事实的 ${basedir}/src/main/resources/release *
您可以指定eclipse应该在其中运行maven的概要文件

右键单击project,选择Maven,并包括您可以在eclipse下工作的概要文件

当您执行maven更新项目时,eclipse应该选择您的配置,即一旦您更改了配置文件,eclipse应该识别新的源文件夹。

以下是我的做法

基本上,我在默认配置中声明了我希望在Eclipse中看到的所有资源文件夹,将它们添加到每个概要文件中是不起作用的,因为当概要文件处于活动状态时,节点会附加到最终POM中,而不是像我想的那样替换现有的POM;然后我告诉Maven使用属性从哪个文件夹复制资源,属性值由活动概要文件驱动

当然,我们非常感谢您的任何评论

4.0.0 ... ... ... 战争 ... 转换为Maven项目,所以我不喜欢 配置文件中必须在Eclipse项目中启用的默认设置 配置-> UTF-8 / 添加到最终POM中, 因此,在概要文件中声明资源文件夹并不排除其他资源 默认情况下声明的文件夹,即没有配置文件的活动配置。 因此,解决方案是根据需要更改Maven从每个文件夹中带来的内容 在当前活动的配置文件上。下面是默认的,没有配置文件 活动配置。-> **/* * * ${basedir}/src/main/local资源 符合事实的 ${res.devel.includes} ${res.devel.excludes} ${basedir}/src/main/local资源 符合事实的 ${res.local.includes} ${res.local.excludes} ${basedir}/src/main/resources发行版 符合事实的 ${res.release.includes} ${res.release.excludes} 地方的 根 * * * 释放 根 * * *
这就是我如何替换resources目录以使Maven获取发布文件的方法,所以我想这不是我想要的。我希望Maven声明一个额外的源文件夹,以便IDE在项目浏览器中用正确的图标列出它。我将发布我的POM相关部分,以澄清这一点。build-helper-maven-pluginThis不提供问题的答案。若要评论或要求作者澄清,请在他们的帖子下方留下评论——你可以随时在自己的帖子上发表评论,一旦你有足够的评论,你就可以发表评论。尽管我没有这样做
首先,我觉得这个答案很有用,它给了我一个想法。正如@Jehof指出的,如果你编辑它以包含更好的解释,我会接受它。经过彻底的测试,我发现在配置文件中指定资源文件夹——这是我从你的答案中得到的想法——是行不通的。我在自己的答案中公布了解决方案。谢谢你的帮助。谢谢你,但是正如你在发布的POM中看到的,我已经知道了个人资料。关键是,我需要告诉Maven在开发时使用一些资源,在发布时使用其他一些资源,但在IDE中,我希望看到所有这些资源。然而,@secret32给了我一个很好的解决方案的指针。然后在eclipse中用两个配置文件配置项目…?作为一个先决条件,我不想改变eclipse项目配置,我最喜欢的是对可能加入开发的其他人保持简单,所以如果可以避免一个步骤,我宁愿避免它。我刚刚发布了我找到的答案。谢谢你的建议。
<build>  
   ...  
   < sourceDirectory > src/main/java </ sourceDirectory >  
   < testSourceDirectory > src/test/java </ testSourceDirectory >  
   < resources >  
       < resource >  
          < directory > src/main/resources </ directory >  
       </ resource >  
   </ resources >  
   < testResources >  
       < testResource >  
          < directory > src/test/resources </ directory >  
       </ testResource >  
   </ testResources >  
   ...  
</build>