我有一个Maven项目(项目A),执行Maven模块(ProjectB)的操作,其中定义了我的实体类。
当我单独构建ProjectB并运行它自己的单元测试(它们都通过)时,增强效果很好。
当我编译ProjectA时,其中测试操作与ProjectB完全相同,即使在ProjectB.jar中搜索它们,也无法找到实体类。
但是,如果我将Project B设为Maven项目而不是Maven模块。一切顺利,实体类可以在ProjectB.jar中找到并且测试通过。
请有人告诉我发生了什么事?
编辑(请在附图中找到我的项目布局)
https://cloud.githubusercontent.com/assets/3803648/3922814/c93638b4-23cd-11e4-8bea-5de01bb3930a.jpg
(我必须至少有10个代表才能将图像直接封入帖子中。抱歉)
答案 0 :(得分:0)
首先,我不认为您需要在项目级别复制单元测试,因为它们已经是模块的一部分。如果在modlue级别或eproject级别运行mvn install,测试类将被执行。
所以基本上是"模块"和"项目"同样的事情,但是当你定义了一个模块时,它需要一个Parent项目,你在Parent上做的任何操作都会被应用到属于Parent的所有模块。
希望有所帮助!