为了账号安全,请及时绑定邮箱和手机立即绑定

使用 CL 或 RPGLE 在 IBM i 上以编程方式检查 Java 版本

使用 CL 或 RPGLE 在 IBM i 上以编程方式检查 Java 版本

呼唤远方 2023-03-31 15:05:58
我有一种情况,我必须检查 IBM i 上的 java 版本是否等于 1.8。在我的 CL 程序中有一个 RUNJVA 调用,它运行一个依赖于 Java 1.8 的 jar 文件。我只想在 IBM i 机器有 Java 1.8 时运行该命令。在 IBM i 上有很多方法可以查看 java 版本,但要以编程方式检查版本,我需要以某种方式在变量中获取版本信息。一种方法是运行命令RUNJVA 类(*版本)输出(*打印)并从假脱机文件中读取版本。但是这种方法应该有效,但我正在寻找更无缝的方法。另外阅读假脱机文件以获取信息似乎不是一个好方法
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

我不确定这是否被认为是优雅的,但你至少不必处理假脱机文件。我将 java -version 的输出写入一个数据区域,然后您可以获取该数据区域:

创建一个数据区来保存 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')

然后只需将数据区域抓取到一个变量中并在那里进行评估。


查看完整回答
反对 回复 2023-03-31
?
白衣非少年

TA贡献1155条经验 获得超0个赞

尝试以下操作:

使用 RUNRMTCMD 执行“java -version”。捕获输出或错误,解析并找出版本。


查看完整回答
反对 回复 2023-03-31
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信