常见问题与解决方案
💡 文档说明
本文档汇总了调问系统部署和使用过程中的常见问题及解决方案,帮助用户快速定位和解决问题。
1. 环境配置问题
1.1 JAVA 环境配置
问题描述
java -version命令无法识别- JAVA_HOME 环境变量未设置
- JDK版本不兼容
解决方案
Windows 环境
下载安装JDK
配置环境变量
cmd# 设置JAVA_HOME set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_XXX # 添加到PATH set PATH=%JAVA_HOME%\bin;%PATH% # 设置CLASSPATH set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar验证安装
cmdjava -version javac -version
Linux 环境
安装JDK
bash# Ubuntu/Debian sudo apt update sudo apt install openjdk-8-jdk # CentOS/RHEL sudo yum install java-1.8.0-openjdk-devel配置环境变量
bash# 编辑 ~/.bashrc 或 /etc/profile export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 使配置生效 source ~/.bashrc
参考链接
1.2 Maven 配置
问题描述
- Maven命令无法识别
- 依赖下载失败
- 编译错误
解决方案
Windows 环境
下载安装Maven
- 访问官网:https://maven.apache.org/download.cgi
- 下载二进制包并解压
配置环境变量
cmdset MAVEN_HOME=D:\apache-maven-3.8.6 set PATH=%MAVEN_HOME%\bin;%PATH%配置镜像源
xml<!-- settings.xml --> <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
Linux 环境
安装Maven
bash# Ubuntu/Debian sudo apt install maven # CentOS/RHEL sudo yum install maven # 或手动安装 wget https://archive.apache.org/dist/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz tar -xzf apache-maven-3.8.6-bin.tar.gz sudo mv apache-maven-3.8.6 /opt/maven配置环境变量
bashexport MAVEN_HOME=/opt/maven export PATH=$MAVEN_HOME/bin:$PATH
参考链接
1.3 Node.js 配置(NPM)
问题描述
- Node.js版本过低
- npm安装依赖失败
- 网络连接问题
解决方案
Windows 环境
安装Node.js
- 访问官网:https://nodejs.org/
- 下载LTS版本并安装
配置npm镜像
cmdnpm config set registry https://registry.npmmirror.com npm config set disturl https://npmmirror.com/dist验证安装
cmdnode -v npm -v
Linux 环境
安装Node.js
bash# 使用NodeSource仓库 curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs # 或使用nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash nvm install 18 nvm use 18配置npm
bashnpm config set registry https://registry.npmmirror.com npm install -g cnpm --registry=https://registry.npmmirror.com
参考链接
2. 数据库问题
2.1 MySQL 安装配置
问题描述
- MySQL服务无法启动
- 连接被拒绝
- 字符编码问题
解决方案
Windows 环境
下载安装MySQL
- 访问官网:https://dev.mysql.com/downloads/mysql/
- 选择Windows版本下载
配置MySQL
ini# my.ini 配置文件 [mysqld] port=3306 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci default-time-zone='+8:00' [mysql] default-character-set=utf8mb4 [client] default-character-set=utf8mb4启动服务
cmd# 启动MySQL服务 net start mysql # 登录MySQL mysql -u root -p
Linux 环境
安装MySQL
bash# Ubuntu/Debian sudo apt update sudo apt install mysql-server # CentOS/RHEL sudo yum install mysql-server配置MySQL
bash# 安全配置 sudo mysql_secure_installation # 启动服务 sudo systemctl start mysql sudo systemctl enable mysql创建数据库
sqlCREATE DATABASE dwsurvey DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'dwsurvey'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON dwsurvey.* TO 'dwsurvey'@'localhost'; FLUSH PRIVILEGES;
参考链接
2.2 数据库连接问题
常见错误
Communications link failure
Access denied for user
Unknown database 'dwsurvey'解决方案
检查连接参数
yaml# application.yml spring: datasource: url: jdbc:mysql://localhost:3306/dwsurvey?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: your_password driver-class-name: com.mysql.cj.jdbc.Driver检查防火墙
bash# Linux sudo ufw allow 3306 # Windows # 在防火墙设置中开放3306端口检查MySQL用户权限
sql-- 查看用户权限 SHOW GRANTS FOR 'root'@'localhost'; -- 创建远程访问用户 CREATE USER 'root'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;
3. Elasticsearch 问题
3.1 安装配置问题
问题描述
- ES服务无法启动
- 内存不足
- 版本兼容性问题
解决方案
内存配置
bash# 编辑 config/jvm.options -Xms1g -Xmx1g用户权限问题
bash# 创建elasticsearch用户 sudo useradd elasticsearch sudo chown -R elasticsearch:elasticsearch /path/to/elasticsearch # 切换用户启动 su elasticsearch ./bin/elasticsearch网络配置
yaml# config/elasticsearch.yml network.host: 0.0.0.0 http.port: 9200 discovery.type: single-node xpack.security.enabled: false
3.2 IK分词器问题
问题描述
- 版本不匹配
- 插件安装失败
解决方案
版本对应关系
ES 8.15.3 -> IK 8.15.3 ES 8.x -> IK 8.x安装IK插件
bash# 下载对应版本 wget https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.15.3.zip # 安装插件 ./bin/elasticsearch-plugin install file:///path/to/elasticsearch-analysis-ik-8.15.3.zip # 重启ES
4. 应用启动问题
4.1 端口占用
问题描述
Port 8080 was already in use解决方案
查找占用进程
bash# Linux/Mac lsof -i :8080 netstat -tulpn | grep 8080 # Windows netstat -ano | findstr 8080终止进程
bash# Linux/Mac kill -9 PID # Windows taskkill /PID PID /F更换端口
bashjava -jar dwsurvey.jar --server.port=8081
4.2 内存不足
问题描述
OutOfMemoryError: Java heap space解决方案
调整JVM参数
bashjava -Xms512m -Xmx2g -jar dwsurvey.jar系统内存检查
bash# 查看内存使用情况 free -h top
4.3 配置文件问题
问题描述
- 配置文件路径错误
- 配置参数格式错误
解决方案
检查配置文件路径
bashjava -jar dwsurvey.jar --spring.config.location=classpath:/application.yml,/path/to/external/config.yml验证YAML格式
yaml# 注意缩进和格式 spring: datasource: url: jdbc:mysql://localhost:3306/dwsurvey username: root password: password
5. 前端问题
5.1 Node版本问题
启动项目报错:

解决方案
更换node版本即可 
5.2 依赖安装失败
问题描述
npm ERR! network timeout
npm ERR! peer dep missing解决方案
切换镜像源
此处切换是淘宝镜像源
bashnpm config set registry http://registry.npmmirror.com npm install清理缓存
bashnpm cache clean --force rm -rf node_modules package-lock.json npm install使用yarn或pnpm
bashyarn install # 或 pnpm install
5.3 代理配置问题
问题描述
- 前端无法连接后端
- 跨域问题
解决方案
开发环境代理配置
javascript// vite.config.js export default { server: { proxy: { '/api': { target: 'http://localhost:8080', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '/api') } } } }生产环境配置
nginx# nginx配置 location /api { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; }
6. 网络和防火墙问题
6.1 防火墙配置
Linux 防火墙
bash
# Ubuntu/Debian (ufw)
sudo ufw allow 8080
sudo ufw allow 3306
sudo ufw allow 9200
# CentOS/RHEL (firewalld)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --permanent --add-port=9200/tcp
sudo firewall-cmd --reloadWindows 防火墙
cmd
# 开放端口
netsh advfirewall firewall add rule name="DWSurvey" dir=in action=allow protocol=TCP localport=8080
