2011-09-09 167 views
1

我有两个maven项目,比如说A和B,只是A需要B,反之并不正确。从eclipse打包A时没有问题。在项目A的“pom.xml”中,在B上有一个依赖关系节点。在jenkins中,我通过添加三个目标来配置项目B,即“清理软件包安装”。因此,只要B的构建完成,就必须在我的本地Maven存储库中存在B的存档文件(我检查了它)。另一方面,当我构建项目A时,出现了许多编译错误“找不到符号x”。什么可能是问题,有什么想法?jenkins构建项目时的maven依赖关系问题

在此先感谢。

回答

1

只是为了确保:你看着~jenkins/.m2/repository/,是吗?

请注意,install总是包含package,所以clean install就足够了。

但问题在别处。

  1. 检查版本是否相同。在A的依赖关系中使用确切的版本号,而不是版本范围,以确保它的选择(否则,Maven可能会找到一个“更适合”的版本)。

  2. 如果依赖不存在,Maven将无法启动编译器(因为构建类路径会失败)。所以问题不在于JAR文件,而在于内容。确保B的JAR文件确实包含您期望的内容(jar tvf是您的朋友)。

  3. 删除Jenkins服务器上的存储库以确保那里没有旧垃圾。

+0

非常感谢你的有趣的亚伦。我发现你在2(jar文件的内容)中陈述的问题:在配置jenkins之前,我将B的源文件复制到SVN(第一次,我一直在本地开发)。但是,我误以为主要和考验。当我将文件夹结构更正为src/main和src/test时,与构建项目A相关的问题已消失。 –