前端访问后台接口时报错,错误信息如下:
java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.updateNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:187)
刚开始以为是代码错误,上网查了下,才知道,这是因为使用Springboot3.2.x和Spring 6.0以上版本的问题,如果不想降版本,在项目pom文件build节点添加如下代码:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
<!-- 启用 -parameters 编译器标志 -->
<compilerArgument>-parameters</compilerArgument>
</configuration>
</plugin>
刷新maven,让修改生效,然后再执行maven clean,将原先编译文件清空重新编译运行即可。