0

我有一个 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

4 回答 4

2

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

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

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

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

现在,如果在步骤 1 中无法编译项目 - 这只是因为您依赖于缺少的模块并且它们以某种方式呈现在您的本地存储库中(我假设以前它可以在本地编译)并且因为我们'重新运行一个干净的安装本地存储库“被清除”。在这种情况下,您应该找出您的依赖项来自哪里。像

mvn 依赖:失败模块上的树

可以在这里有所帮助。

希望这会有所帮助

于 2012-09-19T05:02:02.803 回答
0

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

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

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

祝你好运!

于 2012-09-19T03:52:44.777 回答
0

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

无法解析以下工件: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在http://repo.maven.apache.org/maven2

因此,您的 pom 中有 im4java 1.3.2 和 aliyun-openservices 1.0.0-20120705 的引用,但在一般 maven 存储库中找不到这些。如果您在 mvnrepository.com 中搜索 im4java,您会看到它只有 1.2 版本,因此它会失败是合理的。aliyun-openservices 包根本不存在。

那么,这些应该在哪里找到呢?也许您只将它们安装在本地而不是 Jenkins 机器上?

那你可以做的是

  1. (推荐)设置一个 Intranet maven repo,您​​将在其中部署所需的库并引用它或
  2. 在运行 Jenkins 的机器上本地安装它们

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

于 2012-09-19T05:14:33.307 回答
0

快速浏览一下maven 存储库,只有 1.2.0 版可用,而 1.3.2 版(您正在使用的)不可用。

您的代码是否使用 Maven 构建编译?

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

于 2012-09-19T05:19:44.747 回答