前端访问后台接口时报错,错误信息如下:

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,将原先编译文件清空重新编译运行即可。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐