RPM:jre 依賴失敗,即使安裝了該 JRE 版本

RPM:jre 依賴失敗,即使安裝了該 JRE 版本

我正在嘗試安裝軟體包,但它無法報告缺少依賴項:

# rpm -ivh *
error: Failed dependencies:
    jre >= 1.7.0 is needed by Tomcat-7.0.37-1.noarch

同時,當我檢查我的java版本時,我得到的是:

# java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) Server VM (build 24.0-b56, mixed mode)

rpm想要的不就是java嗎?我錯過了什麼嗎? rpm 是否看到不同的 java,我該如何檢查?

答案1

套件管理器就是這樣 - 套件資訊的管理器,它並不真正知道您的系統上有什麼,只知道它安裝了哪些套件,因此它假設您的系統上有什麼。

這種設計的明顯問題是兩者可能不同步,例如,如果您透過從 Oracle 下載 JRE 來手動安裝 JRE,那麼套件管理器不知道它在那裡,因此會指出失敗的工作依賴鏈。

有多個選項,假設這就是問題所在(檢查你的rpm 包列表,我忘記了rpm 的參數),按難看的順序排列:(1)你可以安裝你的發行版本的JRE,這將使包管理器滿意,(2)你可以捏造套件管理器,讓它認為所說的依賴項「jre version 1.7.0」實際上已經安裝,無論是否安裝它,然後顛覆java二進位檔案以使用你安裝的版本,或者(3)你可以使用以下指令安裝tomcat --nodeps 選項忽略相依性。請注意,(3) 是一個滑坡,隨著時間的推移,您最終會跳過更多的依賴項和子依賴項。

相關內容