python - 机器人框架 - java.lang.UnsupportedClassVersionError: oracle/jdbc/driver/OracleDriver : Unsupported major.minor version 52.0
问题描述
我创建了一个 Azure 管道,并在其中一项任务中使用机器人框架测试我的应用程序。我正在使用cx_oracle 7.2.0
模块来支持我使用 Robot 进行的测试。当我运行管道的任务时,我得到了错误
java.lang.UnsupportedClassVersionError:oracle/jdbc/driver/OracleDriver:不支持的major.minor 52.0版
我认为错误是由于 JRE 兼容性问题。Azure VM 1.7 上的 JRE 版本。但是,我可以在具有 JRE 1.8 的本地计算机上运行相同的框架而不会出现任何问题。我现在有两个问题。
我可以使用任何任务在 Azure VM 上将 java 版本升级到 1.8,然后运行我的应用程序。如果可以,怎么办?如果没有,我怎样才能获得与 java 1.7 兼容的 cx_oracle 模块?
请注意,我的本地机器和 Azure VM 都有 python 3.x,这对于 cx_oracle 模块来说已经足够了。
解决方案
有一个名为“Java 工具安装程序”的任务,在构建或发布管道中使用此任务来获取特定版本的 Java。这是官方文档。
我在构建管道中运行此任务并成功将我的 java 版本从 openjdk 版本 '9.0.4' 更新为 'java 版本 '1.8.0_221'。
我下载了 Java SE Runtime Environment 8u221 windows x64 并将其上传到我的仓库。您可以在https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html从其他操作系统下载不同的 Java 版本。
此外,如果您使用的是 Azure VM,则可以下载 RDP 文件并手动更新版本。
推荐阅读
- java - 错误:无法找到或加载主类 -Xms1G
- vba - vba scrape html - 获取具有动态类的元素
- user-interface - 在 Tkinter GUI 中嵌入散景和大数据
- javascript - 在 JavaScript 中使用 setInterval 循环时如何让精灵停止移动
- javascript - 选中复选框时,如何将表单控件的所有值传递给另一个表单?
- android-studio - 如何在 Google Play 音乐中添加浮动活动,例如“正在播放音乐”
- r - 为什么这段代码使用 == 和 | 运算符的结果为 TRUE
- php - 将 MySQL 表数据插入 PHP 数组
- java - 按下按钮时画线 Swing
- asp.net-mvc - 在与 Azure AD B2C 集成的网站中获取访问令牌