JDK 编译 - javac



0. 命令行编译java项目之前

javac命令是jdk中提供的一个工具,用于编译.java源文件为.class文件。我们主要使用这个命令及其参数来编译java项目。

参考以下文档

1. 命令行编译java项目

网上了解一下javac的用法,就可以学会如何编译一个单独的java文件。但是若要编译一个java项目,需要注意以下几点:

# 进入工程根目录,子目录是src源文件目录和lib-jar包目录

# 准备源文件路径文件
echo > javafile.txt
find src/ -name *.java >> javafile.txt

# 拼接一下jar包的路径
jarfiles=()
for jar in $(find lib -name *.jar);do jarfiles=("${jarfiles[@]}" $jar);done
classfile=""
for cf in ${jarfiles[@]};do classfile="${classfile}:${cf}";done

# src是源目录
# $classfile是jar文件路径
# class是编译后的class文件目录
# @javafile.txt是读取javafile.txt文件中列出的java源文件,来逐个编译,也可以直接写单个文件路径
javac -d class -sourcepath src -cp $classfile @javafile.txt