shell 如何调用Java
在Shell中调用Java程序
通过Shell脚本调用Java程序需要确保Java环境已正确配置,并明确指定类路径或JAR文件路径。以下是具体实现方法:
检查Java环境
执行以下命令验证Java是否安装:
java -version
若未安装,需先安装JDK(如OpenJDK):
sudo apt install openjdk-11-jdk # Ubuntu/Debian
直接运行Java类文件
假设已编译的类文件为Main.class,且位于当前目录:
java Main
若类文件在其他目录,需指定类路径:
java -cp /path/to/classes Main
运行带包的Java类
若类属于包com.example,需从包根目录运行:
java -cp . com.example.Main
或进入包父目录后执行:

cd /path/to/parent
java com.example.Main
运行JAR文件
对于打包好的JAR文件(如app.jar):
java -jar app.jar
若需传递参数:
java -jar app.jar arg1 arg2
动态传递参数
通过Shell变量传递参数给Java程序:
ARGS="input.txt output.txt"
java Main $ARGS
或从命令行读取:

read -p "Enter arguments: " ARGS
java Main $ARGS
后台运行Java程序
使用nohup或&让Java程序在后台运行:
nohup java Main > output.log 2>&1 &
或通过screen/tmux管理长时间任务。
处理输入输出
重定向Java程序的输入输出:
java Main < input.txt > output.txt 2> error.log
性能调优参数
根据需要设置JVM参数:
java -Xms512m -Xmx1024m -XX:+UseG1GC Main
错误排查
若出现ClassNotFoundException,检查类路径是否正确。对于依赖库,需包含所有JAR:
java -cp "lib/*:." Main
通过以上方法,可以灵活地在Shell环境中调用和管理Java程序。





