3.6 KiB
3.6 KiB
chat_web_backend 编译和启动说明
编译步骤
⚠️ 重要提示
项目需要使用 Java 11 来编译(Java 21 与旧版 Lombok 不兼容)
方法1:使用编译脚本(推荐)
cd /home/gc/gangyan/chat_web_backend
./compile.sh
方法2:手动编译
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
cd /home/gc/gangyan/chat_web_backend
mvn clean package -DskipTests
3. 完整编译(包含测试,时间较长)
mvn clean package
4. 如果编译失败,可以尝试:
# 清理本地仓库缓存
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:使用启动脚本(推荐)
cd /home/gc/gangyan/chat_web_backend
./start.sh
方式2:手动启动(使用 Java 11)
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:后台运行
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参数
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
检查服务状态
启动后,检查端口是否监听:
netstat -tuln | grep 8099
# 或
ss -tuln | grep 8099
测试API是否正常:
curl http://localhost:8099/chat_web_backend/app/api/config
停止服务
找到进程并停止:
# 查找进程
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/目录