购买咨询
微信咨询
电话咨询
预约演示
跳转到内容

常见问题与解决方案

💡 文档说明

本文档汇总了调问系统部署和使用过程中的常见问题及解决方案,帮助用户快速定位和解决问题。

1. 环境配置问题

1.1 JAVA 环境配置

问题描述

  • java -version 命令无法识别
  • JAVA_HOME 环境变量未设置
  • JDK版本不兼容

解决方案

Windows 环境

  1. 下载安装JDK

  2. 配置环境变量

    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
  3. 验证安装

    cmd
    java -version
    javac -version

Linux 环境

  1. 安装JDK

    bash
    # Ubuntu/Debian
    sudo apt update
    sudo apt install openjdk-8-jdk
    
    # CentOS/RHEL
    sudo yum install java-1.8.0-openjdk-devel
  2. 配置环境变量

    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 环境

  1. 下载安装Maven

  2. 配置环境变量

    cmd
    set MAVEN_HOME=D:\apache-maven-3.8.6
    set PATH=%MAVEN_HOME%\bin;%PATH%
  3. 配置镜像源

    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 环境

  1. 安装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
  2. 配置环境变量

    bash
    export MAVEN_HOME=/opt/maven
    export PATH=$MAVEN_HOME/bin:$PATH

参考链接

1.3 Node.js 配置(NPM)

问题描述

  • Node.js版本过低
  • npm安装依赖失败
  • 网络连接问题

解决方案

Windows 环境

  1. 安装Node.js

  2. 配置npm镜像

    cmd
    npm config set registry https://registry.npmmirror.com
    npm config set disturl https://npmmirror.com/dist
  3. 验证安装

    cmd
    node -v
    npm -v

Linux 环境

  1. 安装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
  2. 配置npm

    bash
    npm config set registry https://registry.npmmirror.com
    npm install -g cnpm --registry=https://registry.npmmirror.com

参考链接

2. 数据库问题

2.1 MySQL 安装配置

问题描述

  • MySQL服务无法启动
  • 连接被拒绝
  • 字符编码问题

解决方案

Windows 环境

  1. 下载安装MySQL

  2. 配置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
  3. 启动服务

    cmd
    # 启动MySQL服务
    net start mysql
    
    # 登录MySQL
    mysql -u root -p

Linux 环境

  1. 安装MySQL

    bash
    # Ubuntu/Debian
    sudo apt update
    sudo apt install mysql-server
    
    # CentOS/RHEL
    sudo yum install mysql-server
  2. 配置MySQL

    bash
    # 安全配置
    sudo mysql_secure_installation
    
    # 启动服务
    sudo systemctl start mysql
    sudo systemctl enable mysql
  3. 创建数据库

    sql
    CREATE 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'

解决方案

  1. 检查连接参数

    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
  2. 检查防火墙

    bash
    # Linux
    sudo ufw allow 3306
    
    # Windows
    # 在防火墙设置中开放3306端口
  3. 检查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服务无法启动
  • 内存不足
  • 版本兼容性问题

解决方案

  1. 内存配置

    bash
    # 编辑 config/jvm.options
    -Xms1g
    -Xmx1g
  2. 用户权限问题

    bash
    # 创建elasticsearch用户
    sudo useradd elasticsearch
    sudo chown -R elasticsearch:elasticsearch /path/to/elasticsearch
    
    # 切换用户启动
    su elasticsearch
    ./bin/elasticsearch
  3. 网络配置

    yaml
    # config/elasticsearch.yml
    network.host: 0.0.0.0
    http.port: 9200
    discovery.type: single-node
    xpack.security.enabled: false

3.2 IK分词器问题

问题描述

  • 版本不匹配
  • 插件安装失败

解决方案

  1. 版本对应关系

    ES 8.15.3 -> IK 8.15.3
    ES 8.x -> IK 8.x
  2. 安装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

解决方案

  1. 查找占用进程

    bash
    # Linux/Mac
    lsof -i :8080
    netstat -tulpn | grep 8080
    
    # Windows
    netstat -ano | findstr 8080
  2. 终止进程

    bash
    # Linux/Mac
    kill -9 PID
    
    # Windows
    taskkill /PID PID /F
  3. 更换端口

    bash
    java -jar dwsurvey.jar --server.port=8081

4.2 内存不足

问题描述

OutOfMemoryError: Java heap space

解决方案

  1. 调整JVM参数

    bash
    java -Xms512m -Xmx2g -jar dwsurvey.jar
  2. 系统内存检查

    bash
    # 查看内存使用情况
    free -h
    top

4.3 配置文件问题

问题描述

  • 配置文件路径错误
  • 配置参数格式错误

解决方案

  1. 检查配置文件路径

    bash
    java -jar dwsurvey.jar --spring.config.location=classpath:/application.yml,/path/to/external/config.yml
  2. 验证YAML格式

    yaml
    # 注意缩进和格式
    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/dwsurvey
        username: root
        password: password

5. 前端问题

5.1 Node版本问题

启动项目报错:

star

解决方案

更换node版本即可 star

5.2 依赖安装失败

问题描述

npm ERR! network timeout
npm ERR! peer dep missing

解决方案

  1. 切换镜像源

    此处切换是淘宝镜像源

    bash
    npm config set registry http://registry.npmmirror.com
    npm install
  2. 清理缓存

    bash
    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
  3. 使用yarn或pnpm

    bash
    yarn install
    # 或
    pnpm install

5.3 代理配置问题

问题描述

  • 前端无法连接后端
  • 跨域问题

解决方案

  1. 开发环境代理配置

    javascript
    // vite.config.js
    export default {
      server: {
        proxy: {
          '/api': {
            target: 'http://localhost:8080',
            changeOrigin: true,
            rewrite: (path) => path.replace(/^\/api/, '/api')
          }
        }
      }
    }
  2. 生产环境配置

    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 --reload

Windows 防火墙

cmd
# 开放端口
netsh advfirewall firewall add rule name="DWSurvey" dir=in action=allow protocol=TCP localport=8080

调问-专业的开源问卷表单系统