Cytoscape 2.8.2搭配Java 17在Ubuntu 20.04启动报错如何解决?
Cytoscape 2.8.2 启动报错解决方案
报错核心原因
Cytoscape 2.8.2为2011年发布的 legacy 版本,仅兼容Java 5/6运行环境。Java 9及后续版本移除了该版本依赖的大量J2EE公共类、Sun专有API,同时引入了Java模块化机制,完全无法兼容Java 17运行,这是启动失败的根本原因。
最优解决步骤
1. 安装免依赖的兼容Java 6运行环境
由于Ubuntu 20.04官方源已移除OpenJDK 6,可使用Azul Zulu发行的预编译OpenJDK 6二进制包,无需额外适配依赖即可直接运行:
- 自行搜索获取Zulu 6版本的x64 Linux二进制压缩包,版本为JDK 6系列即可
- 执行以下命令解压配置:
# 创建JDK存放目录 sudo mkdir -p /usr/lib/jvm/zulu6 # 解压下载的压缩包到目标目录,替换下方压缩包名为你下载的实际文件名 sudo tar -xzf 你下载的Zulu6压缩包文件名.tar.gz -C /usr/lib/jvm/zulu6 --strip-components 1 # 验证安装成功 /usr/lib/jvm/zulu6/bin/java -version
输出包含openjdk version "1.6.0"字样即为安装正常。
2. 修改Cytoscape启动脚本指定Java路径
编辑Cytoscape 2.8.2目录下的cytoscape.sh文件,在脚本开头插入以下内容指定Java路径:
export JAVA_HOME=/usr/lib/jvm/zulu6 export PATH=$JAVA_HOME/bin:$PATH
保存后重新执行启动命令即可:
chmod a+x cytoscape.sh ./cytoscape.sh
注:不建议尝试修改Cytoscape 2.8.2源码适配高版本Java,改造成本远高于安装兼容运行环境。
备选方案
若不想在当前系统安装老版本JDK,可通过VMware安装Ubuntu 12.04虚拟机,该版本官方源自带OpenJDK 6,直接执行sudo apt install openjdk-6-jre即可完成环境配置,再安装运行Cytoscape 2.8.2。
内容的提问来源于stack exchange,提问作者Mema Stamataki
相关产品推荐
相关产品推荐

