Proguard Obfuscation在使用Maven的Jenkins构建中失败 - 无法读取classes.jar

时间:2012-08-22 14:22:29

标签: java linux maven jenkins proguard

我正在使用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的?

1 个答案:

答案 0 :(得分: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设置来自使用apple java6的mac,而jenkins是在linux上。