2012-09-19 142 views
0

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

[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] 

我希望我所清楚的是,任何帮助表示高度赞赏。我可以提供更多的细节,如果需要..提前感谢!

+0

尝试做一个MVN全新安装 – Satya

+0

尝试过这样做了,我得到了同样的错误!它是否有做一些与安全作为它的部署和在远程系统上编译?因为我没有问题在远程系统上手动编译问题。感谢您的回复,尽管 – Uday

+0

做了一个mvn干净安装-U – Satya

回答

2

我想你应该尽量做到以下几点:

  1. 尝试在本地编译项目,但要确保您下载从Maven仓库的文物。根本上,你可以通过重命名你的〜user/.m2/repository并运行''mvn clean install''来实现。

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

我建议签出库配置上行家,或者如果你想签出詹金斯机上项目的源代码和手动运行从机器上面描述的第一步。你应该看到代码不能被编译,并得到你现在得到的同样的错误。

现在,如果在第一步期间项目无法编译 - 仅仅因为你已经依赖缺乏的模块,并且它们以某种方式呈现在本地存储库中(我以前认为它可以在本地编译)因为我们正在运行一个干净的安装,本地存储库'被清除'。在这种情况下,你应该找出你的依赖来自哪里。 之类的东西

MVN依赖性:出现故障的模块

树可以帮助这里。

希望这将有助于在某种程度上

+0

终于明白了,这是一个安全问题..谢谢你的帮助! – Uday

+1

@Uday安全问题?你能否在这里详细解答答案?这里介绍的信息并不意味着以任何方式存在安全问题。 – eis

0

2个可以快速解决方案:

  1. 如果本地编译,然后去上詹金斯构建配置,并检查“投票SCM”选项上做每次构建投票。

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

祝你好运!

+0

感谢大家的即时答复 – Uday

0

这是错误消息告诉你:

以下工件无法解析: org.im4java:im4java:罐子:1.3.2, com.aliyun:阿里云-openservices:罐子:1.0.0-20120705:未能找到 org.im4java:im4java:罐子:1.3.2 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的回购协议,你将部署需要的库,并说明或
  2. 运行詹金斯
  3. 在本地机器上安装它们

这两个都应该解决这个问题。

0

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

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

我建议你尽量审查詹金斯实例库设置