2

我正在使用 Jenkins 在 Linux 机器上构建一个 Maven 项目并收到以下错误:

[proguard] 错误:无法读取 [/usr/lib/jvm/java-6-openjdk-amd64/Classes/classes.jar] (没有这样的文件或目录)

我已经安装了 JDK 并将 JAVA_HOME 变量设置为:/usr/lib/jvm/java-6-openjdk-amd64

但是,如果我查看 Jenkins 的“系统信息”部分,我会得到两个 java home 位置:

java.home: /usr/lib/jvm/java-6-openjdk-amd64/jre

JAVA_HOME:/usr/lib/jvm/java-6-openjdk-amd64

当我在 MacOS 上运行项目时,proguard 插件可以完美运行,所以我知道它与我的项目设置无关。我在 Jenkins 中缺少的东西或 Java 是如何安装在我的服务器上的?

4

1 回答 1

0

您正在使用 proguard 插件吗?您是否在 pom.xml 中包含以下内容?

<libs>
    <lib>${java.home}/Classes/classes.jar</lib>
</libs>

我猜,你的开发环境是一个 mac 盒子,而你的 jenkins 是在一个 linux 盒子里运行的。所以这就是问题所在。
以下设置可以在 linux 中运行。而且如果你在mac上安装Oracle Jdk 1.7或者1.8也可以。

<libs>
     <lib>${java.home}/lib/rt.jar</lib>
</libs>

我的观点是,问题的关键在于 libs 设置来自使用苹果 java6 的 mac,而 jenkins 在 linux 上。

于 2014-10-24T11:02:06.710 回答