Mik*_*ike 14 java fedora rpm rhel
我有一个Java应用程序,我打包为RPM.理想情况下,我想将Java指定为依赖项.我需要在Fedora和RHEL环境中安装.问题是RHEL Java被称为'java',而Fedora不提供Oracle/Sun的发行版,而是从Oracle的网站手动下载.根据您选择的包,Oracle的Oracles分发称为"jre"或"jdk".
通常在RPM SPEC文件中我会写:
取决于:java> = 1.6
但是由于RHEL提供'java',并且Fedora通过Sun/Oracle提供'jre'或'jdk'(我不能使用OpenJDK),我有点绑定.到目前为止,文档还没有显示出'java> = 1.6 ||的方法 jre> = 1.6 || jdk> = 1.6'等因为Java包不在我的控制范围内,我不能只改变其中一个来指定'提供:Java'.
目前我只看到两个选择:
我不喜欢这两种选择.有没有其他方法可以实现Java依赖,其中提供者都有不同的名称?
编辑:第三个选项 - 为Fedora创建我自己的Java虚拟包,它依赖于Sun的JDK RPM.
我已经为Fedora创建了自己的java虚拟包,它依赖于sun的jdk rpm.
SPEC文件的相关部分,以防其他人:
Name: fedora-virtual-java
Version: 1.6
Provides: java
Requires: jdk > 1.6
Run Code Online (Sandbox Code Playgroud)