Linux系统下Java程序编译步骤详解
Linux 编译 Ja va 的完整步骤
一 准备环境
万事开头先搭台。编译Ja va程序,第一步自然是安装Ja va开发工具包(JDK)。它包含了核心的编译器ja vac和运行时ja va。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
在Debian或Ubuntu这类系统上,用包管理器安装最省事。打开终端,执行:
sudo apt update && sudo apt install openjdk-11-jdk
如果想安装发行版默认的JDK版本,直接用sudo apt install default-jdk也行。其他像Fedora、openSUSE或者Arch Linux,分别使用dnf、zypper、pacman这些对应的包管理命令来安装OpenJDK即可。
装好后,别忘了验证一下。分别运行ja va -version和ja vac -version,如果能看到版本号信息,说明安装成功。要是系统提示“command not found”,那可得注意了,这通常意味着JDK没装上,或者环境变量PATH没配置对。
二 命令行编译与运行
环境就绪,咱们就从最经典的“Hello World”开始,感受一下最直接的编译流程。
首先,准备好源码。创建一个名为HelloWorld.ja va的文件,记住,public class后面的类名必须和文件名完全一致。
接下来是编译。在源码所在的目录下,执行:
ja vac HelloWorld.ja va
顺利的话,你会看到一个HelloWorld.class字节码文件生成出来。运行它就用:
ja va HelloWorld
这里有个新手常犯的小错误:运行命令后面不要带.class后缀。
当然,实际项目不会这么简单。掌握几个常用的编译选项,能帮你应对更复杂的场景:
- 指定输出目录:用
ja vac -d bin HelloWorld.ja va,编译后的.class文件会整齐地放到bin目录里。 - 编译多个文件:可以用通配符
ja vac *.ja va,或者明确列出ja vac File1.ja va File2.ja va。 - 处理依赖:编译时需要外部JAR?加上
-cp参数:ja vac -cp lib/xxx.jar *.ja va。运行时也要带上类路径:ja va -cp .:lib/xxx.jar com.example.Main(注意,Linux下类路径分隔符是冒号:)。 - 指定版本:为了兼容性,可以用
-source和-target指定源码和目标字节码的Ja va版本,例如ja vac -source 8 -target 8 HelloWorld.ja va。 - 生成调试信息:方便后续调试,加上
-g选项:ja vac -g HelloWorld.ja va。 - 打包成JAR:将一堆
.class文件打包,使用jar -cvf app.jar *.class。如果JAR文件有主清单属性,可以直接用ja va -jar app.jar运行。
最后一个小提示:如果你的代码使用了包(package)结构,运行时必须使用主类的全限定名(即包含包名的完整类名)。同时,要确保目录结构和包名是对应的,或者更省事的办法,就是在编译时使用-d选项,让编译器自动帮你创建好目录树。
三 使用构建工具
对于正经的项目,手敲命令行编译效率就太低了。这时候,构建工具就该登场了。
Ma ven是目前最主流的构建工具之一,特别适合标准化的项目。安装很简单:
sudo apt install ma ven
在包含pom.xml文件的项目根目录下,执行mvn compile就能完成编译。想要打包?运行mvn package,成品(比如可执行的JAR)就会出现在target/目录下。
另一个历史更悠久的工具是Ant,它基于build.xml配置文件。安装命令类似:
sudo apt install ant
在项目根目录下直接运行ant,它会按照build.xml中定义的目标(如compile、jar)来执行任务。
四 多版本 JDK 与环境变量管理
有时候,不同项目可能需要不同版本的JDK。学会管理多版本和环境变量,是Linux下Ja va开发的必备技能。
首先,如何设置环境变量?以OpenJDK 11为例:
- 编辑用户的环境配置文件,比如
~/.bashrc:nano ~/.bashrc - 在文件末尾添加:
export JA VA_HOME=/usr/lib/jvm/ja va-11-openjdk-amd64 export PATH=$JA VA_HOME/bin:$PATH - 让配置立即生效:
source ~/.bashrc - 验证:分别执行
echo $JA VA_HOME和ja va -version,确认路径和版本正确。
在Debian/Ubuntu系统上,可以优雅地实现多版本共存与切换:
- 将某个JDK版本注册到备选方案中:
sudo update-alternatives --install /usr/bin/ja va ja va /usr/lib/jvm/ja va-11-openjdk-amd64 1 - 需要切换时,执行:
然后根据交互提示,选择你想设为默认的版本编号即可。sudo update-alternatives --config ja va
如果你手动下载了Oracle JDK的.tar.gz包,解压到比如/opt/jdk目录后,同样通过配置JA VA_HOME和PATH,并利用update-alternatives命令将其纳入统一管理,就能和其他版本无缝切换了。
五 常见问题与排查
编译路上难免踩坑,这里有几个典型问题的排查思路:
- “bash: ja vac: command not found”:这是最常见的问题。要么是JDK根本没安装,要么是
PATH环境变量没有包含$JA VA_HOME/bin目录。检查方法是分别运行ja va -version和ja vac -version,如果前者行后者不行,基本就是PATH配置问题,回头修正JA VA_HOME和PATH即可。 - “NoClassDefFoundError”或“ClassNotFoundException”:运行时抛出的这两个异常,通常指向类路径问题。要么是依赖的JAR包没被加入类路径,要么是目录结构不对。请务必检查运行时的
-cp参数是否正确包含了所有依赖项和类文件所在目录,并牢记Linux下的类路径分隔符是冒号:。 - 包与目录不一致:Ja va要求目录结构必须严格匹配包名。确保你的
.ja va文件放在正确的包目录下。一个省心的办法是编译时使用ja vac -d指定输出目录,编译器会自动按包结构创建文件夹。运行时,也必须使用完整的全限定类名。 - 版本不兼容:用高版本JDK编译的代码,可能在低版本JRE上跑不起来。解决办法是在编译时使用
-source和-target参数指定一个兼容的Ja va版本。或者,更直接一点,切换你的系统默认JDK版本,让它与项目要求匹配。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Linux系统下PHP-FPM进程管理机制详解
PHP-FPM进程管理模式解析 在Linux服务器上部署PHP应用,选择一个高效的进程管理器至关重要。PHP-FPM(FastCGI Process Manager)正是为此而生,它通过一套灵活且精细的进程管理机制,为PHP脚本的执行提供了稳定而高效的环境。那么,这套机制具体是如何运作的呢? 1
Linux PHP-FPM日志级别设置与优化指南
在Linux中配置PHP-FPM日志级别:一步步详解 管理PHP应用时,清晰的日志是定位问题的生命线。PHP-FPM(FastCGI Process Manager)作为PHP的高性能进程管理器,其日志级别的灵活配置,能帮你精准捕捉从致命错误到细微通知的所有信息。下面就来手把手完成这项关键设置。 第
Debian系统安装与使用Golang开发工具的完整指南
Debian系统下高效Go语言开发必备工具大全 一、Go语言环境安装与配置指南 在Debian系统中快速搭建Go开发环境,最便捷的方法是使用APT包管理器。执行一条命令即可完成基础安装:sudo apt update && sudo apt install golang-go。安装完成后,务必使用g
Linux系统下Java编译性能优化指南
在Linux系统中优化Ja va编译的实用指南 想让Ja va在Linux系统上跑得更快、编译更高效?这并非难事。关键在于从工具链、配置到代码本身,进行一系列系统性的调优。下面这份清单,涵盖了从基础配置到高级优化的核心路径。 1 使用最新版本的JDK 这几乎是性能提升的“免费午餐”。新版本的JDK
Linux系统下Java程序编译步骤详解
Linux 编译 Ja va 的完整步骤 一 准备环境 万事开头先搭台。编译Ja va程序,第一步自然是安装Ja va开发工具包(JDK)。它包含了核心的编译器ja vac和运行时ja va。 在Debian或Ubuntu这类系统上,用包管理器安装最省事。打开终端,执行: sudo apt upda
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

