AutoMedinfo/Java版本问题解决指南.txt

169 lines
4.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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