在编写eclipse .classpath时,如何让m2e插件忽略资源过滤

时间:2012-07-26 16:00:24

标签: maven classpath m2eclipse m2e

当eclipse(indigo)中的m2e(1.1.0)更新项目配置时,它会更改我的资源文件夹的条目以排除所有。

<classpathentry excluding="**" kind="src" output="target/classes" path="conf"/>

但是我需要以下测试才能成功运行:

<classpathentry kind="src" output="target/classes" path="conf"/>

我想从我的jar中排除一些资源(例如,license.foo),但是我需要在eclipse类路径中使用这些文件中的许多来启用测试执行。

解决此问题的正确方法是什么?

  • 我的pom中有org.eclipse.m2e的设置来改变行为吗?
  • 我可以在.project / .classpath中添加文字以通知m2e这必须保留吗?
  • 我应该使用配置文件来改变储存在罐子里的东西吗?

你是如何处理这类问题的? (仅供参考,这类似于MNGECLIPSE-864

由于

彼得

2 个答案:

答案 0 :(得分:3)

您应该将运行时需要的资源放在

src/main/resources

以及您只需要测试的资源

src/test/resources

这是Maven Standard Directory layout,资源将在类路径上。

如果您没有标准目录,则应使用Maven Build Helper Pluginadd additional (test) resource directories

答案 1 :(得分:0)

如果你遇到这个问题,那么你可能想问“为什么我要让eclipse和命令行专家以不同的方式处理资源。”

我认为这个问题源于希望将不需要的物品(例如,许可证文件)从运输罐中取出。但是, FrVaBe 关于测试资源的观点可以很好地满足这种需求。

我做了一些挖掘程序集文件和poms以找出它们之间的竞争规范将conf目录移动到目标/类中,忽略它并将原始源位置导入到pom中。我解开了复杂性并拥有一个更简单的pom,它以更标准的方式处理资源。

感谢您的帮助

彼得