==================================== Java版本不兼容问题 - 解决指南 ==================================== 问题症状: ----------- 启动后端时出现错误: "class file version 61.0, this version of the Java Runtime only recognizes class file versions up to 52.0" 原因分析: ----------- - Spring Boot 3.2.0 需要 Java 17+ - 您当前使用的是 Java 8 - 版本不匹配导致无法运行 ==================================== 解决方案一:升级Java到17(推荐) ==================================== 为什么推荐? ----------- ✓ 使用最新技术栈 ✓ 更好的性能 ✓ 更多新特性 ✓ 长期支持版本 步骤: ------ 1. 下载 Java 17 推荐下载地址: - Oracle JDK 17: https://www.oracle.com/java/technologies/downloads/#java17 - Eclipse Temurin 17: https://adoptium.net/temurin/releases/?version=17 选择 Windows x64 Installer (.msi) 2. 安装 Java 17 - 双击下载的安装程序 - 按默认选项安装(推荐路径:C:\Program Files\Java\jdk-17) - 记住安装路径 3. 配置环境变量 方法A - 使用图形界面: a) 右键"此电脑" -> "属性" -> "高级系统设置" b) 点击"环境变量" c) 在"系统变量"中: - 如果有JAVA_HOME,修改它: 变量值改为:C:\Program Files\Java\jdk-17 - 如果没有,新建JAVA_HOME: 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk-17 d) 编辑Path变量: - 找到旧的Java路径(如果有),删除或移到底部 - 在最前面添加:%JAVA_HOME%\bin e) 点击"确定"保存 方法B - 使用命令行(管理员权限): setx JAVA_HOME "C:\Program Files\Java\jdk-17" /M 4. 验证安装 打开新的命令行窗口(必须是新窗口!),执行: java -version 应该显示: openjdk version "17.x.x" 或 java version "17.x.x" 5. 重新启动项目 cd d:\SoftwarePrj\文献流程\backend mvn clean spring-boot:run ==================================== 解决方案二:降级到Spring Boot 2.7 ==================================== 为什么选择? ----------- ✓ 可以继续使用 Java 8 ✓ 无需升级Java ✗ 无法使用Spring Boot 3的新特性 步骤: ------ 1. 备份原配置文件 copy backend\pom.xml backend\pom-backup.xml 2. 使用Java 8兼容的配置 copy backend\pom-java8.xml backend\pom.xml 3. 清理并重新编译 cd backend mvn clean install 4. 启动服务 mvn spring-boot:run ==================================== 验证Java版本 ==================================== 检查当前Java版本: ------------------ java -version javac -version 检查Maven使用的Java版本: ------------------------- mvn -version 如果Maven使用的不是Java 17: ---------------------------- 编辑 Maven 配置文件: %MAVEN_HOME%\bin\mvn.cmd 或在项目根目录创建 .mvn/jvm.config 文件: -Djava.home=C:\Program Files\Java\jdk-17 ==================================== 常见问题 ==================================== Q1: 安装了Java 17但java -version仍显示Java 8 A1: 环境变量配置不正确或命令行窗口未重新打开 - 关闭所有命令行窗口 - 重新打开新窗口 - 再次检查 java -version Q2: 有多个Java版本,如何切换? A2: 修改JAVA_HOME环境变量指向目标版本 或使用工具如 jEnv (Linux/Mac) 或手动切换 Q3: Maven仍然使用旧版本Java A3: 检查 MAVEN_OPTS 环境变量 或在项目中创建 .mvn/jvm.config Q4: 降级到Spring Boot 2.7后出现新错误 A4: 某些代码可能使用了Spring Boot 3的API 需要根据具体错误调整代码 主要差异: - javax.* -> jakarta.* (在Spring Boot 3中) - 某些配置属性名称变化 ==================================== 推荐方案 ==================================== 对于新项目,强烈建议: ✓ 升级到 Java 17 ✓ 使用 Spring Boot 3.x ✓ 享受最新特性和性能改进 Java 17 是长期支持版本(LTS),值得升级! ==================================== 需要帮助? ==================================== 1. 如选择方案一,下载安装Java 17后重新运行 start-dev.bat 2. 如选择方案二,按照步骤执行后重新运行 3. 查看完整文档:DEPLOYMENT.md