Termiux运行脚本测试完成
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
#!/bin/bash
|
||||
# 编译目录配置(已修正源文件目录为实际的src)
|
||||
BASE_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
SRC_DIR="$BASE_DIR/src" # 核心修改:源目录从runtime改为src
|
||||
OUT_DIR="$BASE_DIR/src" # class文件输出到src,与源文件同包结构
|
||||
SRC_DIR="$BASE_DIR/src" # java源文件目录
|
||||
OUT_DIR="$BASE_DIR/runtime" # class输出目录(已改回runtime)
|
||||
LIB_DIR="$BASE_DIR/libs" # 依赖包目录
|
||||
|
||||
# 1. 递归查找所有.java源文件
|
||||
JAVA_FILES=$(find "$SRC_DIR" -name "*.java")
|
||||
@@ -11,17 +12,29 @@ if [ -z "$JAVA_FILES" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 2. 确保输出目录存在
|
||||
# 2. 处理依赖包,拼接classpath参数
|
||||
CP_PARAM=""
|
||||
if [ -d "$LIB_DIR" ]; then
|
||||
# 匹配libs下所有jar包,适配Linux/macOS,多个jar用冒号分隔
|
||||
JAR_FILES=$(ls "$LIB_DIR"/*.jar 2>/dev/null)
|
||||
if [ -n "$JAR_FILES" ]; then
|
||||
CP_PARAM="-cp $(echo $JAR_FILES | tr ' ' ':')"
|
||||
fi
|
||||
else
|
||||
echo "警告:依赖目录 $LIB_DIR 不存在,将不加载外部依赖"
|
||||
fi
|
||||
|
||||
# 3. 确保输出目录存在
|
||||
mkdir -p "$OUT_DIR"
|
||||
|
||||
# 3. 执行编译
|
||||
echo "开始编译Java文件,输出目录:$OUT_DIR"
|
||||
javac -d "$OUT_DIR" $JAVA_FILES
|
||||
# 4. 执行编译(带依赖路径)
|
||||
echo "开始编译Java文件,源目录:$SRC_DIR,输出目录:$OUT_DIR"
|
||||
javac $CP_PARAM -d "$OUT_DIR" $JAVA_FILES
|
||||
|
||||
# 4. 结果校验
|
||||
# 5. 结果校验
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "编译成功!class文件已按包结构生成至 $OUT_DIR"
|
||||
else
|
||||
echo "编译失败,请检查Java源文件语法或依赖"
|
||||
echo "编译失败,请检查Java源文件语法或依赖包是否完整"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
14
bash/start_winboll_in_termux.sh
Normal file
14
bash/start_winboll_in_termux.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
# 1. 先跳转到脚本所在目录,再定位项目根目录(核心修复)
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
BASE_DIR=$(cd .. && pwd) # 从bash目录向上跳1级,得到项目根目录
|
||||
|
||||
# 2. 执行编译(用绝对路径调用build_class.sh,避免路径问题)
|
||||
bash "$BASE_DIR/bash/build_class.sh"
|
||||
|
||||
# 3. 配置类路径(指向根目录的runtime和libs)
|
||||
CLASSPATH="$BASE_DIR/runtime:$BASE_DIR/libs/*"
|
||||
MAIN_CLASS="Main"
|
||||
|
||||
echo "正在启动 Main 类,类路径:$CLASSPATH"
|
||||
java -cp "$CLASSPATH" $MAIN_CLASS
|
||||
Reference in New Issue
Block a user