当前位置: 首页
编程语言
Java编译Ubuntu依赖如何安装

Java编译Ubuntu依赖如何安装

热心网友 时间:2026-05-05
转载

在 Ubuntu 上安装 Ja va 编译所需依赖

Ja va编译Ubuntu依赖如何安装

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一、区分两类编译场景

动手之前,咱们得先搞清楚一件事:你打算编译什么?这直接决定了你需要准备哪些“家伙事儿”。

  • 编译普通 Ja va 项目:这事儿相对简单。你只需要一个 JDK,它包含了编译器 ja vac 和运行时环境 ja va,就够了。
  • 从源码构建 OpenJDK:这就复杂多了,堪称“硬核操作”。除了 JDK,你还得准备一堆系统依赖库,比如 FreeType、CUPS、X11 等等。更关键的是,你还需要一个“引导 JDK”——通常要求比你要构建的目标版本低一个主版本号。

二、编译普通 Ja va 项目的依赖安装

对于大多数开发者来说,第一个场景才是日常。下面咱们就按步骤来,保证你快速搞定。

  • 更新索引并安装 JDK:以目前主流的 OpenJDK 17 为例(当然,你也可以换成 8、11 或 21 等版本)。
    • 打开终端,执行这条命令:sudo apt update && sudo apt install -y openjdk-17-jdk
  • 验证安装:装完可不能凭感觉,得验明正身。
    • 分别运行 ja va -versionja vac -version,看看版本信息是否正常输出。
  • 可选:配置 JA VA_HOME:有些工具依赖这个环境变量,如果系统没自动设置,咱们就手动来。
    • 先找到 JDK 的安装路径:readlink -f “$(which ja va)”。它通常藏在 /usr/lib/jvm/ 目录下。
    • 然后将其写入环境变量:echo ‘export JA VA_HOME=/usr/lib/jvm/ja va-17-openjdk-amd64’ >> ~/.bashrc && source ~/.bashrc
  • 可选:安装构建工具:现代 Ja va 项目离不开 Ma ven 或 Gradle。
    • 安装命令很简单:sudo apt install -y ma vensudo apt install -y gradle
    • 同样,用 mvn -versiongradle -version 验证一下。

三、从源码构建 OpenJDK 的依赖安装

如果你想深入 JVM 内部,或者有定制化需求,从源码构建 OpenJDK 是必经之路。这个过程就像搭一个精密仪器,缺一个零件都不行。

  • 安装基础编译工具与依赖库:这是最繁琐但必须的一步。以下命令适用于 Ubuntu 20.04/22.04 等常见版本。
    • 准备好,这是一条长长的命令:sudo apt update && sudo apt install -y build-essential autoconf zip libfreetype6-dev libcups2-dev libfontconfig1-dev libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev libasound2-dev libffi-dev
  • 准备 Bootstrap JDK:这是构建过程的“起点”。记住一个原则:用它来构建比它高一个主版本的 JDK。比如:
    • 要构建 OpenJDK 12,你需要 JDK 11:sudo apt install -y openjdk-11-jdk
    • 要构建 OpenJDK 16,你可能需要 JDK 15。务必根据目标版本灵活选择。
  • 获取源码并配置与编译:环境备齐,就可以开工了。以构建 OpenJDK 12 为例:
    • 配置构建参数:bash configure --enable-debug --with-jvm-variants=server
    • 开始编译(nproc 会自动检测你的 CPU 核心数,全力编译):make -j"$(nproc)"
  • 常见排错要点:这条路可能不会一帆风顺,几个常见的坑帮你标出来:
    • 如果配置时提示缺少 fontconfig,别忘了安装 libfontconfig1-dev
    • 如果你在 VMware 的共享文件夹里编译,可能会遇到无法创建符号链接的错误。解决办法是把源码移到本地的 ext4 分区再编译。
    • 如果 gcc/g++ 版本不兼容,可能需要安装特定版本(比如 gcc-7)并更新软链接。

四、一键安装脚本示例

为了方便,这里提供两条整合好的命令。你可以直接复制执行,但务必理解每条命令在做什么。

  • 普通 Ja va 项目(安装 OpenJDK 17)
    • sudo apt update && sudo apt install -y openjdk-17-jdk && ja va -version && ja vac -version
  • OpenJDK 12 构建环境(含 Bootstrap JDK 11 与全部依赖)
    • sudo apt update && sudo apt install -y build-essential autoconf zip libfreetype6-dev libcups2-dev libfontconfig1-dev libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev libasound2-dev libffi-dev openjdk-11-jdk && ja va -version。
来源:https://www.yisu.com/ask/31766448.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
如何在 Go 语言中创建三维数组

如何在 Go 语言中创建三维数组

如何在 Go 语言中创建三维数组 本文详细讲解在 Go 语言中如何正确初始化并返回一个指定尺寸的三维指针切片(例如 [][][]*tile),内容涵盖分层使用 make 函数的关键步骤、常见错误与规避方法,并提供可直接运行的完整代码示例。 在 Go 语言编程实践中,处理三维数据结构,例如一个三维的指

时间:2026-05-05 12:07
PHP怎样处理中文乱码问题_PHP处理中文乱码问题方法【编码】

PHP怎样处理中文乱码问题_PHP处理中文乱码问题方法【编码】

PHP中文乱码问题终极解决方案:四层编码统一法详解 彻底解决PHP中文乱码,核心在于实现“四层编码统一”。问题根源往往不是单一错误,而是文件编码、HTTP传输、数据库连接、HTML解析这四个关键环节的编码设置不一致。只要其中一层仍使用GBK或ISO-8859-1等非UTF-8编码,即便其他三层都正确

时间:2026-05-05 12:07
Go 中嵌入第三方结构体时实现私有化的方法

Go 中嵌入第三方结构体时实现私有化的方法

Go 中嵌入第三方结构体时实现私有化的方法 在 Go 中,可通过类型别名(type alias)为外部包的结构体创建未导出别名,再嵌入该别名,从而隐藏原始类型字段,实现语义上的“私有嵌入”,兼顾复用性与封装性。 在 Go 语言里,结构体嵌入(embedding)是个强大的特性,但它有个“小脾气”:它

时间:2026-05-05 12:07
Pandas读取外部数据的几种实现方法

Pandas读取外部数据的几种实现方法

Pandas 支持读取几乎所有常见的外部数据格式,核心是 pd read_* 系列函数,以下是最常用的格式及用法: 处理数据的第一步,往往是把外部数据“搬”进来。Pandas 在这方面堪称全能选手,其核心的 pd read_* 系列函数几乎覆盖了所有常见的数据源。接下来,我们就逐一拆解这些最常用的读

时间:2026-05-05 12:07
C#怎么创建Dapr微服务_C# Dapr分布式应用运行时方法教程【高级】

C#怎么创建Dapr微服务_C# Dapr分布式应用运行时方法教程【高级】

C 构建Dapr微服务的核心是标准ASP NET Core Web API + Dapr SDK封装 + sidecar启动;关键在于正确配置AppID、显式路由、禁用HTTPS重定向、启用CORS,并逐层验证sidecar健康与服务连通性。 开门见山,直接点明核心:使用C 创建Dapr微服务,其精

时间:2026-05-05 12:07
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程