You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无外部IP的Compute Engine实例安装Java的可行方案

无公网环境下安装JRE运行Jar包的可行方案

你当前场景只需要基础Java运行环境支持java -jar命令,不需要额外组件,以下三个方案都可以落地,按操作便捷度排序:

方案1:使用内部APT源安装(长期最优)

先咨询公司运维团队是否有内部搭建的APT软件镜像源,如果有,直接修改虚拟机的APT源配置为内部源地址:

  • 编辑源配置文件:sudo vi /etc/apt/sources.list
  • 把原有公网源地址全部替换为运维提供的内部源地址,保存退出
  • 执行sudo apt update更新源缓存后,直接运行sudo apt install default-jre即可正常安装,和公网环境操作完全一致,后续也能正常安装其他软件包。

方案2:离线传输免安装JRE压缩包(操作最简单,无依赖问题)

这个方案不需要处理APT依赖关系,适合单次临时使用:

  • 找一台和目标虚拟机操作系统版本、CPU架构完全一致的可联网机器,下载对应版本的OpenJDK JRE二进制压缩包(tar.gz格式,选择你Jar包兼容的Java大版本即可,比如Jar是Java 8编译的就选8版本,高版本编译的选对应大版本,JDK压缩包自带JRE环境也可以用)
  • 通过公司允许的内网文件传输、挂载共享目录等合规方式,把压缩包传到无公网的目标虚拟机上
  • 解压压缩包到指定安装目录,比如执行sudo tar -zxf 你下载的jre压缩包名.tar.gz -C /opt/
  • 配置环境变量:如果只需要当前用户使用,编辑~/.bashrc文件,在末尾添加以下内容(替换成你实际解压后的JRE目录名):
export JAVA_HOME=/opt/解压后的JRE文件夹名
export PATH=$JAVA_HOME/bin:$PATH
  • 执行source ~/.bashrc让配置生效,运行java -version能正常输出版本信息就说明配置完成,直接执行java -jar myjarname.jar即可运行程序。

方案3:离线传输全量DEB依赖包安装(贴合原有APT安装逻辑)

如果想保持和APT安装完全一致的系统级部署效果,可以提前在联网机器上下全所有依赖包再传到目标机安装:

  • 在同版本、同架构的联网机器上新建临时目录存安装包:mkdir -p ~/jre-offline && cd ~/jre-offline
  • 执行命令下载default-jre及所有递归依赖的deb包:
    apt download default-jre default-jre-headless $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances default-jre | grep "^\w" | sort -u)
  • 把整个jre-offline目录传到目标虚拟机,进入目录后执行sudo dpkg -i ./*.deb即可完成安装,装完执行java -version验证即可。

注意:所有离线传输的安装包必须和目标虚拟机的操作系统大版本、CPU架构完全匹配,否则会出现依赖错误、运行报错的问题。

内容的提问来源于stack exchange,提问作者GcpTrainee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 11:39:39