diff --git a/deploy.sh b/deploy.sh
new file mode 100644
index 0000000..32ba8d3
--- /dev/null
+++ b/deploy.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+# 设置变量
+REPO_URL="http://47.121.181.112:3000/wonder/stardew-valley.git"
+PROJECT_DIR="/opt/stardew-valley"
+MAVEN_CMD="mvn clean package -Dmaven.test.skip=true" # 跳过测试(编译 & 执行都跳过)
+APP_NAME="stardew-valley" # PM2 中的应用名称
+JAR_FILE=""
+DEPLOY_DIR="/opt/stardew-valley/target" # 你可以指定部署目录,也可以直接使用 target 目录
+
+# 检查依赖是否安装
+if ! command -v git &> /dev/null; then
+ echo "错误:Git 未安装,请先安装 Git。"
+ exit 1
+fi
+
+if ! command -v mvn &> /dev/null; then
+ echo "错误:Maven 未安装,请先安装 Maven。"
+ exit 1
+fi
+
+if ! command -v pm2 &> /dev/null; then
+ echo "错误:PM2 未安装,请先安装 PM2。"
+ exit 1
+fi
+
+# 克隆或拉取代码
+echo "正在克隆或拉取仓库 $REPO_URL 到 $PROJECT_DIR ..."
+if [ -d "$PROJECT_DIR" ]; then
+ echo "目录 $PROJECT_DIR 已存在,正在拉取最新代码..."
+ cd "$PROJECT_DIR" || { echo "无法进入目录 $PROJECT_DIR"; exit 1; }
+ git pull origin main
+else
+ git clone "$REPO_URL" "$PROJECT_DIR"
+fi
+
+# 进入项目目录
+cd "$PROJECT_DIR" || { echo "无法进入目录 $PROJECT_DIR"; exit 1; }
+
+# 执行 Maven 构建(跳过测试)
+echo "正在执行 Maven 构建(跳过测试)..."
+$MAVEN_CMD
+
+# 检查构建是否成功
+if [ $? -ne 0 ]; then
+ echo "Maven 构建失败,退出脚本。"
+ exit 1
+fi
+
+# 查找生成的 JAR 文件
+JAR_FILE=$(find "$PROJECT_DIR/target" -type f -name "*.jar" | head -n 1)
+
+if [ -z "$JAR_FILE" ]; then
+ echo "未找到 JAR 文件,构建可能失败或项目类型不识别。"
+ exit 1
+fi
+
+echo "找到 JAR 文件: $JAR_FILE"
+
+# 部署文件(可选,也可直接在 target 目录下启动)
+# 可以选择是否拷贝到其他目录(比如 /opt/stardew-valley/app/)
+# 如果你不需要部署到其他目录,可以直接使用 target 目录
+
+echo "部署 JAR 文件到 $DEPLOY_DIR ..."
+# 如果你不需要复制,可以去掉这一行
+# cp "$JAR_FILE" "$DEPLOY_DIR/"
+
+# 删除旧的 PM2 进程
+echo "删除 PM2 中的旧进程 $APP_NAME..."
+pm2 delete "$APP_NAME" > /dev/null 2>&1
+
+# 启动 Java 应用
+echo "正在启动 Java 应用..."
+pm2 start "java -jar $JAR_FILE" --no-daemon --name "$APP_NAME"
+
+# 提示信息
+echo "部署和启动完成!"
diff --git a/pom.xml b/pom.xml
index 8bb0832..07d960d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,4 +70,21 @@
test
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.4.1
+
+
+
+ com.wonderland.stardewvalley.Application
+
+
+
+
+
+