spring-ai项目启动异常
错误一、
ERROR\] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project spring-ai-chat-openai: Fatal error compiling: 错误: 不支持发行版本 21 -\> \[Help 1
解决办法:
step1、设置系统环境变量(推荐)
step2、修改Maven启动脚本
step3、在IDE中配置Maven运行时JDK
最终验证,命令行工具:mvn -v
呈现结果如下:
C:\Users\DELL>mvn -v
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by org.fusesource.hawtjni.runtime.Library in an unnamed module (file:/D:/devTools/apache-maven-3.8.1/bin/../lib/jansi-1.17.1.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: D:\devTools\apache-maven-3.8.1\bin\..
Java version: 24.0.2, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-24
Default locale: zh_CN, platform encoding: UTF-8
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"
错误二、
/spring-ai-vector/spring-ai-vector-redis/src/main/java/com/glmapper/ai/vector/storage/VectorStoreStorage.java:[21,31] 变量 vectorStore 未在默认构造器中初始化
@Autowired
private final VectorStore vectorStore;
错误三、
ERROR\] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project mcp-server-weather: Compilation failure \[ERROR\] /E:/developing/ai/spring-ai-summary/spring-ai-mcp/mcp-server-weather/src/main/java/com/glmapper/ai/mcp/server/service/WeatherServiceServer.java:\[20,9\] 找不到符号 \[ERROR\] 符号: 变量 log \[ERROR\] 位置: 类 com.glmapper.ai.mcp.server.service.WeatherServiceServer 上述错误, 都是jdk版本和maven不兼容,导致lombok配置不生效,直接或间接而造成的异常。 方法 1:确认你已启用 Lombok 注解处理器(最常见原因) IDE 中必须开启 annotation processing: IntelliJ IDEA: Settings → Build, Execution, Deployment → Compiler → Annotation Processors 勾选 ✔ Enable annotation processing 否则 Lombok 的 @Slf4j 根本不会生成 private static final Logger log = ... jdk24 + maven3.8.1组合 会导致一系列异常,例,lombok不生效 注解类不生效,导致log变量不生效 全局注解类不生效 解决办法,调整为:jdk21 + apache-maven-3.8.1