使用Maven编译java代码时Jenkins Build失败

时间:2012-09-19 03:08:47

标签: maven deployment jenkins

我有一个Java应用程序,我可以在CLI上使用maven编译它,我有几个构建脚本将Java代码部署到远程服务器并使用Maven编译代码但不幸的是编译失败了使用我的构建脚本为詹金斯。当我尝试在远程服务器上编译代码时,构建成功。错误日志如下:

[WARNING] The POM for org.im4java:im4java:jar:1.3.2 is missing, no dependency information available
[WARNING] The POM for com.aliyun:aliyun-openservices:jar:1.0.0-20120705 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] GuestPath Project ................................. SUCCESS [5.183s]
[INFO] guestchat biz module .............................. FAILURE [4.001s]
[INFO] GuestChat Web Common .............................. SKIPPED
[INFO] GuestChat Portal Webapp ........................... SKIPPED
[INFO] guestchat openapi Webapp .......................... SKIPPED
[INFO] guestchat chat server ............................. SKIPPED
[INFO] guestchat service dashboard Webapp ................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.518s
[INFO] Finished at: Wed Sep 19 10:49:39 CST 2012
[INFO] Final Memory: 9M/23M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project guestchat-biz:
Could not resolve dependencies for project com.guestops.guestchat:guestchat-biz:jar:1.0.0-SNAPSHOT:
The following artifacts could not be resolved:
org.im4java:im4java:jar:1.3.2, com.aliyun:aliyun-openservices:jar:1.0.0-20120705:
Failure to find org.im4java:im4java:jar:1.3.2 in http://repo.maven.apache.org/maven2
was cached in the local repository, resolution will not be reattempted until
the update interval of central has elapsed or updates are forced -> [Help 1]

我希望我足够清楚,任何帮助都非常感谢。如果需要,我可以提供更多细节。谢谢!

4 个答案:

答案 0 :(得分:2)

我认为您应该尝试执行以下操作:

  1. 尝试在本地编译项目,但要确保从maven存储库下载工件。从根本上你可以通过重命名~user / .m2 / repository并运行''mvn clean install''

  2. 来实现。
  3. 如果它编译 - 您的本地maven配置正确,而不是pom.xml问题。远程存储库也在maven中配置。在这种情况下,它是一个jenkins问题,或者更确切地说是与jenkins安装在同一台机器上的maven问题,或者可能是某些与网络/安全相关的问题(例如与远程存储库的连接是防火墙的,无法从jenkins机器访问等等)。

  4. 我建议查看该maven上的存储库配置,或者如果要在jenkins机器上签出项目的源代码,并从该机器手动运行上述第一步。您应该看到代码无法编译并获得您现在获得的相同错误。

    现在,如果在步骤1期间项目无法编译 - 它只是因为你对缺少的模块有依赖性而且它们以某种方式呈现在你的本地存储库中(我假设以前可以在本地编译)和因为我们正在运行一个干净的安装,所以本地存储库'被清除'。在这种情况下,您应该找出您的依赖项来自何处。 像

    这样的事情

    mvn依赖:故障模块上的树

    在这里可以提供帮助。

    希望这会有所帮助

答案 1 :(得分:0)

2种可能的快速解决方案:

  1. 如果它在本地编译,那么转到Jenkins上的构建配置并检查“Poll SCM”选项以对每个构建进行轮询。

  2. 从Jenkins服务器mvn clean install上的命令行运行,并确保构建后maven存储库中的工件可用。如果不是,请下载相关版本的jar并将它们放在本地maven存储库中(在Jenkins服务器上)。

  3. 祝你好运!

答案 2 :(得分:0)

这是错误消息告诉您的内容:

  

无法解决以下工件:   org.im4java:im4java:罐子:1.3.2,   com.aliyun:aliyun-openservices:jar:1.0.0-20120705:找不到   org.im4java:im4java:jar:1.3.2 in http://repo.maven.apache.org/maven2

所以你在你的pom中有im4java 1.3.2和aliyun-openservices 1.0.0-20120705的引用,但是这些在普通的maven repo中找不到。如果您执行search for im4java in mvnrepository.com,则会看到it only has version 1.2,因此它会失败是合理的。那里根本不存在aliyun-openservices包。

那么,应该在哪里找到它们?也许你只在本地安装它们而不是Jenkins机器?

你可以做的是

  1. (推荐)设置内部网maven repo,在那里部署所需的库并引用它或
  2. 在运行Jenkins的计算机上本地安装它们
  3. 这两个都应该解决这个问题。

答案 3 :(得分:0)

快速查看maven repository,只有版本1.2.0可用,而不是版本1.3.2(您正在使用)。

您的代码是否使用maven构建进行编译?

我建议您尝试查看jenkins实例上的存储库设置