当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类路径中使用这些文件中的许多来启用测试执行。
解决此问题的正确方法是什么?
你是如何处理这类问题的? (仅供参考,这类似于MNGECLIPSE-864)
由于
彼得
答案 0 :(得分:3)
您应该将运行时需要的资源放在
src/main/resources
以及您只需要测试的资源
src/test/resources
这是Maven Standard Directory layout,资源将在类路径上。
如果您没有标准目录,则应使用Maven Build Helper Plugin至add additional (test) resource directories。
答案 1 :(得分:0)
如果你遇到这个问题,那么你可能想问“为什么我要让eclipse和命令行专家以不同的方式处理资源。”
我认为这个问题源于希望将不需要的物品(例如,许可证文件)从运输罐中取出。但是, FrVaBe 关于测试资源的观点可以很好地满足这种需求。
我做了一些挖掘程序集文件和poms以找出它们之间的竞争规范将conf目录移动到目标/类中,忽略它并将原始源位置导入到pom中。我解开了复杂性并拥有一个更简单的pom,它以更标准的方式处理资源。
感谢您的帮助
彼得