呼喚遠(yuǎn)方
2023-03-31 15:05:58
我有一種情況,我必須檢查 IBM i 上的 java 版本是否等于 1.8。在我的 CL 程序中有一個(gè) RUNJVA 調(diào)用,它運(yùn)行一個(gè)依賴于 Java 1.8 的 jar 文件。我只想在 IBM i 機(jī)器有 Java 1.8 時(shí)運(yùn)行該命令。在 IBM i 上有很多方法可以查看 java 版本,但要以編程方式檢查版本,我需要以某種方式在變量中獲取版本信息。一種方法是運(yùn)行命令RUNJVA 類(*版本)輸出(*打?。┎募倜摍C(jī)文件中讀取版本。但是這種方法應(yīng)該有效,但我正在尋找更無縫的方法。另外閱讀假脫機(jī)文件以獲取信息似乎不是一個(gè)好方法
2 回答

侃侃爾雅
TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
我不確定這是否被認(rèn)為是優(yōu)雅的,但你至少不必處理假脫機(jī)文件。我將 java -version 的輸出寫入一個(gè)數(shù)據(jù)區(qū)域,然后您可以獲取該數(shù)據(jù)區(qū)域:
創(chuàng)建一個(gè)數(shù)據(jù)區(qū)來保存 java_version 文件第一行的值。您可以將這些添加到您的 CL 中:
QSH CMD('java -version 2> /some/IFSdir/java_version')
QSH CMD('head -n 1 /some/IFSdir/java_version | datarea -w /qsys.lib/doug
.lib/testing.dtaara')
然后只需將數(shù)據(jù)區(qū)域抓取到一個(gè)變量中并在那里進(jìn)行評(píng)估。

白衣非少年
TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
嘗試以下操作:
使用 RUNRMTCMD 執(zhí)行“java -version”。捕獲輸出或錯(cuò)誤,解析并找出版本。
添加回答
舉報(bào)
0/150
提交
取消