如何获取Python install-jdk库支持的可用JDK版本?
获取install-jdk库支持的JDK版本方法
你说得没错,install-jdk(也就是你用的jdk Python库)目前确实没有内置像jdk.get_available_versions()这种直接获取可用版本的函数。不过可以通过以下两种方式实现需求:
方法一:调用库内部的索引逻辑
install-jdk内部有维护版本索引的模块,你可以直接用它来提取版本信息:
import jdk from jdk.index import Index # 初始化索引并拉取最新版本数据 version_index = Index() version_index.update() # 提取所有唯一的主版本号(比如8、11、17等) available_main_versions = sorted({ver.split('.')[0] for ver in version_index.versions}) print(available_main_versions) # 如果需要完整版本信息(含操作系统、架构) full_version_details = [(ver, details['os'], details['arch']) for ver, details in version_index.versions.items()] print(full_version_details)
方法二:直接请求Adoptium公开API
install-jdk底层是从Adoptium的API拉取JDK包,你可以直接请求这个API来获取所有可用版本:
import requests def get_jdk_available_versions(): api_url = "https://api.adoptium.net/v3/info/release_versions" params = { "release_type": "ga", # 仅获取正式发布的稳定版本 "sort_order": "DESC" } resp = requests.get(api_url, params=params) resp.raise_for_status() # 提取主版本号并去重排序 all_versions = sorted({item['version_data']['major'] for item in resp.json()}, reverse=True) return all_versions # 调用函数打印结果 print(get_jdk_available_versions())
注意点
- 方法一中的
Index是库内部模块,后续库版本更新可能会有变动,使用时注意兼容性 - 方法二中的API参数可以按需调整,比如添加
os=linux、architecture=x64来过滤特定平台的版本
内容的提问来源于stack exchange,提问作者sas TR
相关产品推荐
相关产品推荐

