Tom*_*Tom 68 eclipse junit maven
我正在使用Maven和Eclipse(m2eclipse插件)开发一个项目.我遇到了JUnit测试的问题:
有时,在Eclipse中运行它们时,它们不会被编译,而是使用旧的类文件.当我删除类文件时,我进入ClassNotFoundExceptionsEclipse.然后我必须通过使用mvn test-compile或其他目标手动重新编译它们.
我还注意到测试的类文件有时会被放入classes子目录而不是test-classes.
我真的无法弄清楚出了什么问题.
JUnit java文件位于src/main/java并且名称正确(*Test.java).
我是否必须通过Maven编译并运行它们?当我想运行它时,为什么Eclipse不编译文件?(有趣的是,有时它确实如此.有时候一切都很完美.)
apa*_*a64 86
我遇到了与STS Eclipse(Spring开发变体),m2e和JUnit相同的问题.解决的办法是设置输出文件夹src/test/java到target/test-classes:
src/test/javaPackage Explorer中的文件夹target/test-classes,单击" 确定"现在,测试类中的更改已正确编译,您应该能够在Eclipse中运行JUnit测试.
问题是Eclipse将单元测试编译为默认输出文件夹,target/classes而JUnit插件正确地尝试从中运行它们test-classes.
这个问题有几个重复:
除了下面的答案
- 右键单击src/test/java文件夹
- 选择构建路径 - >配置输出文件夹
- 输入目标/测试类,单击"确定"
您应该检查以确保通过右键单击项目并转到" 属性" - >"构建器"来正确设置构建器.如果您发现缺少构建器,则需要安装一个构建器.就我而言,maven项目有一个AspectJ依赖项,当我使用Maven Eclipse插件构建我的Eclipse项目时,默认情况下它正在寻找一个AspectJ构建器.我安装了AspectJ开发工具,它解决了这个问题.
希望这可以帮助!
Eclipse 并不期望任何其他东西会破坏类文件。它假设如果您没有在 eclipse 中编辑该文件,则它没有更改并且不需要编译。我认为问题源于 eclipse 和 maven 共享输出目录。我经常看到这种情况,如果我的 mvn 构建失败,它会删除类文件作为干净文件的一部分,但不会编译新文件。我认为最好的解决方案是为 mvn 和 eclipse 建立单独的构建目录,但我从未研究过这一点。
| 归档时间: |
|
| 查看次数: |
42049 次 |
| 最近记录: |