温馨提示×

centos怎么用脚本编译java

小樊
36
2026-10-23 21:28:33
栏目: 编程语言

在 CentOS 上用脚本编译 Java 程序,通常就是写一个 Shell 脚本,调用 javac 来编译,再用 java 运行。下面从环境准备 → 简单脚本 → 多文件/项目脚本一步步说明。


一、确认 Java 环境(CentOS)

1. 安装 JDK(以 OpenJDK 为例)

sudo yum install -y java-1.8.0-openjdk-devel

或 Java 11:

sudo yum install -y java-11-openjdk-devel

2. 验证

java -version
javac -version

有 javac 说明可以编译。


二、最简单的编译脚本(单文件)

示例 Java 文件

// Hello.java
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello CentOS");
    }
}

编译脚本 build.sh

#!/bin/bash

javac Hello.java
java Hello

执行

chmod +x build.sh
./build.sh

三、多文件 Java 项目编译脚本(推荐)

项目结构示例

project/
├── src/
│   ├── Main.java
│   └── util/
│       └── Tools.java
├── out/
└── build.sh

build.sh 示例

#!/bin/bash

SRC_DIR=src
OUT_DIR=out

# 创建输出目录
mkdir -p $OUT_DIR

# 编译所有 java 文件
find $SRC_DIR -name "*.java" > sources.txt
javac -d $OUT_DIR @sources.txt
rm sources.txt

# 运行
java -cp $OUT_DIR Main

使用

chmod +x build.sh
./build.sh

四、带依赖 Jar 包的编译脚本

目录

lib/xxx.jar
src/Main.java

脚本

#!/bin/bash

javac -cp "lib/*" -d out src/*.java
java -cp "out:lib/*" Main

⚠️ CentOS / Linux 用 : 分隔 classpath
Windows 才是 ;


五、可选:使用 Makefile(更专业)

JAVAC = javac
SRC = $(shell find src -name "*.java")
OUT = out

all:
	mkdir -p $(OUT)
	$(JAVAC) -d $(OUT) $(SRC)

run:
	java -cp $(OUT) Main

clean:
	rm -rf $(OUT)

使用:

make
make run

六、常见问题

1. javac: command not found

→ 没装 JDK,只装了 JRE

2. 中文乱码

javac -encoding UTF-8 *.java

3. 后台运行

nohup java -cp out Main > app.log 2>&1 &

如果你愿意,可以告诉我:

  • Java 版本(8 / 11 / 17)
  • 单文件还是多模块
  • 是否用 Maven / Gradle

我可以直接帮你写可用的完整脚本。

0 踩