在 CentOS 上编译 Java 程序本身不一定需要 root 权限,具体要看你在做什么:
javac 编译普通 Java 程序不需要 root
只要:
java、javac 可用)例如:
javac Hello.java
普通用户即可完成。
以下情况可能需要 root(或用 sudo):
安装 JDK
yum install java-1.8.0-openjdk-devel
或把 JDK 装到 /usr/ 等系统目录
编译系统级 Java 项目(如 OpenJDK 本身)
/usr、/opt 等目录绑定特权端口(<1024)运行
修改系统环境(全局)
/etc/profile、/etc/environment~/project)存放代码和 class 文件编译 ≠ 安装
编译通常不需要 root,安装和改系统才需要。
如果你说的是编译 OpenJDK 源码或某个具体项目,可以告诉我,我可以给你更精确的建议。