在 CentOS5 上让 JPackage 看到 Sun JVM 时出现问题

在 CentOS5 上让 JPackage 看到 Sun JVM 时出现问题

我希望以完全基于 RPM 的方式在 CentOS 5 上获取 Tomcat6。JPackage 似乎是实现此目的的绝佳选择,因此我添加了 repo,现在我正尝试使其工作。

说明说要安装从 Sun 下载的基于 RPM 的 JDK,所以我照做了。然后说明说要从 JPackage 安装相应的 -compat 库。此时我收到以下错误:

[root@localhost bart]# rpm -ivh java-1.6.0-sun-compat-1.6.0.03-1jpp.i586.rpm 
error: Failed dependencies:
    jdk = 2000:1.6.0_03-fcs is needed by java-1.6.0-sun-compat-1.6.0.03-1jpp.i586
    jpackage-utils >= 0:1.7.3 is needed by java-1.6.0-sun-compat-1.6.0.03-1jpp.i586
[root@localhost bart]#

让我特别困惑的是,它似乎正在寻找 Fedora 版本的 Sun JVM。JPAckage 说明确实警告说,使用基于 RPM 的下载至关重要,因此我确信要这样做。

如果有帮助的话,这是我的 Java 版本:

[root@localhost bart]# java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Server VM (build 16.0-b13, mixed mode)
[root@localhost bart]#

知道我遗漏了什么或者做错了什么吗?

谢谢,

巴特。

答案1

您正在尝试安装与从 Sun 安装的 JDK 版本不同的兼容库。

您正在尝试安装compat-1.6.0.03与 JDK 1.6.0_03 匹配的版本。

您的 Java 版本是 1.6.0_18。您可以获取 1.6.0_03这里

看起来他们自 U3(1.6.0_03)以来就没有更新过兼容库

这颗宝石在他们的说明中隐藏了一点(重点是我的):

确保将 -compat 包的版本与你安装的 SDK 匹配在第一步中。-compat RPM 要求在上一步中使用 Sun 的 RPM 自解压文件,而不是普通(非 RPM)文件。

我建议卸载 1.6.0_18 jdk,然后安装 1.6.0_03 jdk。这样应该可以达到你想要的效果。

答案2

除了 Zypher 回答说您需要-compat与所安装的 JVM 匹配的正确 rpm 之外,rpm 似乎还提醒您还需要安装适当版本的 jpackage-utils rpm。

我还要提醒您,在尝试设置替代方案时,postinstall 脚本有时无法正确执行(我相信这是拼写错误)。您应该能够通过 提取脚本rpm -q --scripts <rpm package name>,将 postinstall 内容放入 .sh 文件中,修复拼写错误,然后通过 执行修复后的脚本,sh mypostinstall.sh以正确设置 java 和 javac 的替代方案。

答案3

我就是喜欢讽刺。放弃 JPackage 后,我开始寻找好的说明来手动安装 Tomcat6,并让它以非特权用户身份运行,并拥有良好的启动脚本。我找到了什么?使用 JPackage 在 Centos5 上安装 Tomcat6 的解决方案!

关键是这个第三方兼容库,它修复了 CentOS 5 与 JPackage 相关的奇怪问题:http://plone.lucidsolutions.co.nz/linux/centos/jpackage-jpackage-utils-compatibility-for-centos-5.x

为了完整起见,我在这里找到了说明:http://wavded.tumblr.com/post/258713913/installing-tomcat-6-on-centos-5

巴特。

相关内容