[全量] 初始化项目代码、配置、文档及Agent协同harness
This commit is contained in:
161
chat_web_backend/编译和启动说明.md
Normal file
161
chat_web_backend/编译和启动说明.md
Normal file
@@ -0,0 +1,161 @@
|
||||
# chat_web_backend 编译和启动说明
|
||||
|
||||
## 编译步骤
|
||||
|
||||
### ⚠️ 重要提示
|
||||
**项目需要使用 Java 11 来编译**(Java 21 与旧版 Lombok 不兼容)
|
||||
|
||||
### 方法1:使用编译脚本(推荐)
|
||||
```bash
|
||||
cd /home/gc/gangyan/chat_web_backend
|
||||
./compile.sh
|
||||
```
|
||||
|
||||
### 方法2:手动编译
|
||||
```bash
|
||||
cd /home/gc/gangyan/chat_web_backend
|
||||
|
||||
# 设置使用 Java 11
|
||||
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
|
||||
export PATH=$JAVA_HOME/bin:$PATH
|
||||
|
||||
# 编译项目(跳过测试)
|
||||
mvn clean package -DskipTests
|
||||
```
|
||||
|
||||
### 方法3:如果系统默认就是 Java 11
|
||||
```bash
|
||||
cd /home/gc/gangyan/chat_web_backend
|
||||
mvn clean package -DskipTests
|
||||
```
|
||||
|
||||
### 3. 完整编译(包含测试,时间较长)
|
||||
```bash
|
||||
mvn clean package
|
||||
```
|
||||
|
||||
### 4. 如果编译失败,可以尝试:
|
||||
```bash
|
||||
# 清理本地仓库缓存
|
||||
mvn clean
|
||||
|
||||
# 强制更新依赖
|
||||
mvn clean package -U -DskipTests
|
||||
|
||||
# 离线模式(如果网络有问题)
|
||||
mvn clean package -o -DskipTests
|
||||
```
|
||||
|
||||
## 编译输出
|
||||
|
||||
编译成功后,JAR文件位置:
|
||||
```
|
||||
target/chat_web_yj.jar
|
||||
```
|
||||
|
||||
## 启动方式
|
||||
|
||||
### ⚠️ 重要:必须使用 Java 11 运行
|
||||
|
||||
**原因**:Java 21 与 Dozer/JAXB 不兼容,会导致启动失败。
|
||||
|
||||
### 方式1:使用启动脚本(推荐)
|
||||
```bash
|
||||
cd /home/gc/gangyan/chat_web_backend
|
||||
./start.sh
|
||||
```
|
||||
|
||||
### 方式2:手动启动(使用 Java 11)
|
||||
```bash
|
||||
cd /home/gc/gangyan/chat_web_backend
|
||||
|
||||
# 设置使用 Java 11
|
||||
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
|
||||
export PATH=$JAVA_HOME/bin:$PATH
|
||||
|
||||
# 启动应用
|
||||
java -jar target/chat_web_yj.jar --spring.profiles.active=yj
|
||||
```
|
||||
|
||||
### 方式3:后台运行
|
||||
```bash
|
||||
cd /home/gc/gangyan/chat_web_backend
|
||||
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
|
||||
export PATH=$JAVA_HOME/bin:$PATH
|
||||
nohup java -jar target/chat_web_yj.jar --spring.profiles.active=yj > /tmp/chat_backend.log 2>&1 &
|
||||
```
|
||||
|
||||
### 方式4:指定JVM参数
|
||||
```bash
|
||||
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
|
||||
export PATH=$JAVA_HOME/bin:$PATH
|
||||
java -Xms512m -Xmx2048m -jar target/chat_web_yj.jar --spring.profiles.active=yj
|
||||
```
|
||||
|
||||
## 检查服务状态
|
||||
|
||||
启动后,检查端口是否监听:
|
||||
```bash
|
||||
netstat -tuln | grep 8099
|
||||
# 或
|
||||
ss -tuln | grep 8099
|
||||
```
|
||||
|
||||
测试API是否正常:
|
||||
```bash
|
||||
curl http://localhost:8099/chat_web_backend/app/api/config
|
||||
```
|
||||
|
||||
## 停止服务
|
||||
|
||||
找到进程并停止:
|
||||
```bash
|
||||
# 查找进程
|
||||
ps aux | grep chat_web_yj
|
||||
|
||||
# 停止进程(替换PID为实际进程ID)
|
||||
kill <PID>
|
||||
|
||||
# 强制停止
|
||||
kill -9 <PID>
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 1. 启动时 Dozer/JAXB 错误
|
||||
**错误信息**:`Cannot invoke "java.lang.reflect.Method.invoke" because "com.sun.xml.bind.v2.runtime.reflect.opt.Injector.defineClass" is null`
|
||||
|
||||
**解决方案**:
|
||||
- ✅ 已添加 JAXB 依赖到 pom.xml
|
||||
- ✅ 必须使用 **Java 11** 运行(不要用 Java 21)
|
||||
- 使用启动脚本 `./start.sh` 会自动使用 Java 11
|
||||
|
||||
### 2. 编译时依赖下载失败
|
||||
- 检查网络连接
|
||||
- 尝试使用国内Maven镜像源
|
||||
- 使用 `-U` 参数强制更新
|
||||
|
||||
### 3. 端口被占用
|
||||
- 检查8099端口:`netstat -tuln | grep 8099`
|
||||
- 修改 `application-yj.yml` 中的端口配置
|
||||
|
||||
### 4. 数据库连接失败
|
||||
- 当前配置使用远程数据库:`127.0.0.1:3306`
|
||||
- 数据库名:`chat_LLM`
|
||||
- 确保网络可以访问远程数据库服务器
|
||||
|
||||
### 5. Redis连接失败
|
||||
- 当前配置使用远程Redis:`127.0.0.1:6379`
|
||||
- 确保网络可以访问远程Redis服务器
|
||||
|
||||
## 配置文件位置
|
||||
|
||||
主要配置文件:
|
||||
- `src/main/resources/application.yml` - 主配置
|
||||
- `src/main/resources/application-yj.yml` - yj环境配置(当前激活)
|
||||
|
||||
## 日志位置
|
||||
|
||||
日志文件位置(根据logback配置):
|
||||
- 控制台输出
|
||||
- 如果配置了文件日志,通常在项目根目录的 `logs/` 目录
|
||||
Reference in New Issue
Block a user