89 lines
2.3 KiB
Bash
Executable File
89 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 打印服务器启动脚本
|
|
# 此脚本提供了多种启动模式,适应不同的环境需求
|
|
|
|
# 默认配置
|
|
JAR_FILE="target/goeingPrintServer.jar"
|
|
JAVA_OPTS=""
|
|
HEADLESS_MODE=false
|
|
DEBUG_MODE=false
|
|
MEMORY="512m"
|
|
|
|
# 显示帮助信息
|
|
show_help() {
|
|
echo "打印服务器启动脚本"
|
|
echo "用法: $0 [选项]"
|
|
echo ""
|
|
echo "选项:"
|
|
echo " -h, --help 显示此帮助信息"
|
|
echo " -j, --jar FILE 指定JAR文件路径 (默认: $JAR_FILE)"
|
|
echo " --headless 以无头模式运行 (无图形界面)"
|
|
echo " --debug 启用远程调试 (端口: 5005)"
|
|
echo " -m, --memory SIZE 设置最大内存 (默认: $MEMORY)"
|
|
echo ""
|
|
echo "示例:"
|
|
echo " $0 --headless 以无头模式启动服务器"
|
|
echo " $0 --memory 1g 设置最大内存为1GB"
|
|
echo " $0 --jar custom.jar 使用自定义JAR文件"
|
|
exit 0
|
|
}
|
|
|
|
# 解析命令行参数
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
-h|--help)
|
|
show_help
|
|
;;
|
|
-j|--jar)
|
|
JAR_FILE="$2"
|
|
shift
|
|
;;
|
|
--headless)
|
|
HEADLESS_MODE=true
|
|
;;
|
|
--debug)
|
|
DEBUG_MODE=true
|
|
;;
|
|
-m|--memory)
|
|
MEMORY="$2"
|
|
shift
|
|
;;
|
|
*)
|
|
echo "未知选项: $1"
|
|
echo "使用 --help 查看帮助信息"
|
|
exit 1
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
# 检查JAR文件是否存在
|
|
if [ ! -f "$JAR_FILE" ]; then
|
|
echo "错误: JAR文件 '$JAR_FILE' 不存在"
|
|
echo "请先构建项目或使用 --jar 选项指定正确的JAR文件路径"
|
|
exit 1
|
|
fi
|
|
|
|
# 构建Java选项
|
|
JAVA_OPTS="$JAVA_OPTS -Xmx$MEMORY"
|
|
|
|
# 添加无头模式选项
|
|
if [ "$HEADLESS_MODE" = true ]; then
|
|
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
|
|
echo "启用无头模式 (无图形界面)"
|
|
fi
|
|
|
|
# 添加调试选项
|
|
if [ "$DEBUG_MODE" = true ]; then
|
|
JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
|
|
echo "启用远程调试模式 (端口: 5005)"
|
|
fi
|
|
|
|
# 启动应用程序
|
|
echo "正在启动打印服务器..."
|
|
echo "使用JAR文件: $JAR_FILE"
|
|
echo "Java选项: $JAVA_OPTS"
|
|
echo ""
|
|
|
|
java $JAVA_OPTS -jar "$JAR_FILE" |