我有两个maven项目,比方说A和B,只有A需要B,反之则不然。当我从eclipse打包A时没有问题。在项目的“pom.xml”中,A在B上有一个依赖节点。在jenkins中,我通过添加三个目标来配置项目B,即“clean package install”。因此,每当B的构建完成时,它必须存在我的本地maven存储库中的B的存档文件(我已经检查过)。另一方面,当我构建项目A时,我得到了很多编译错误“找不到符号x”。可能是什么问题,任何想法?
提前致谢。
答案 0 :(得分:1)
只是为了确保:你调查了~jenkins/.m2/repository/
,是吗?
请注意,install
始终包含package
,因此clean install
已足够。
但问题出在其他地方。
检查版本是否相同。在A的依赖项中使用确切的版本号,而不是版本范围,以确保它获取的内容(否则,Maven可能会找到“更合适”的版本)。
如果不存在依赖关系,Maven将无法启动编译器(因为构建类路径会失败)。所以问题不是JAR文件而是内容。确保B的JAR文件确实包含您期望的内容(jar tvf
是您的朋友)。
删除Jenkins服务器上的存储库,以确保其中没有旧垃圾。