【发布时间】:2013-02-12 02:13:42
【问题描述】:
我想为我的 junit 测试使用默认的 maven 目录,所以:
- 在 Eclipse 中,我创建了一个
test/java文件夹。 - 我在其中创建了一个带有
package com.xxx.xxx.tracker.utils.test;的junit 类
但是eclipse给了我一个错误。它想将包名更改为
package test.java.com.xxx.xxx.tracker.utils.test;
或者eclipse要我把它移到对应com/xxx/xxx/tracker/utils/test的文件夹中
以下是来自 eclipse 的确切信息:
- 声明的包“com.xxx.xxx.tracker.utils.test”与预期的包“test.java.com.xxx.xxx.tracker.utils.test”不匹配
- 提供 2 个快速修复程序
- 将 xxxTest.java 移动到 'package com.xxx.xxx.tracker.utils.test'
- 将包声明更改为“test.java.com.xxx.xxx.tracker.utils.test”
我想将 junit 保留在 test/java 文件夹中,以使其不受构建并遵循约定,但在我的包名称中包含 test.java 没有意义。
有没有办法让包名保持我想要的方式,并将它放在 test/java 文件夹中?
编辑:是因为我的“src”文件夹中有项目吗?例如:
src/
com.xxx.xxx.tracker.utils.Xxxx.java
test/
java/
com.xxx.xxx.tracker.utils.XxxxTest.java
这个项目不是从 Maven 开始的。它是由其他人转换的。
编辑 2:火上浇油:
这是我的 pom.xml 中的一些内容(我没有设置)。
<build>
<sourceDirectory>/home/me/workspace/proj_PARENT/proj_Classes/src</sourceDirectory>
<testSourceDirectory>/home/me/workspace/proj_PARENT/proj_Classes/src/test/java</testSourceDirectory>
我确实有 eclipse m2e 插件。
【问题讨论】:
-
这不应该发生。你能发布 Eclipse 的抱怨吗?
-
谢谢!添加了日食消息。
-
您在 pom.xml 编辑器中的 sourceDirectory / testSourceDirectory 值的哪个选项卡上。你在“有效的 pom”标签中吗?
-
在 sourceDirectory 中嵌套 testSource 势必会导致问题...您可以通过从 src 文件夹中排除 src/test 来手动配置构建路径,但是当您使用 m2e 更新项目配置时插件你应该得到一个“不能嵌套”的异常。
-
是的。我在看有效的pom。我现在正走在“做正确的事”并将所有源代码移动到 src/main/java 的道路上。我现在看到了嵌套冲突。