在将maven-plugin-plugin从3.6.0升级到3.6.4之后,当构建创建maven-plugin-描述符时,我将得到以下异常:
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-descriptor of goal org.apache.maven.plugins:maven-plugin-plugin:3.6.4:descriptor failed: syntax error @[60,84] in file:/xyz/Foo.java
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
...
Caused by: com.thoughtworks.qdox.parser.ParseException: syntax error @[60,84] in file:/xyz/Foo.java
at com.thoughtworks.qdox.parser.impl.Parser.yyerror (Parser.java:1963)
at com.thoughtworks.qdox.parser.impl.Parser.yyparse (Parser.java:2085)
at com.thoughtworks.qdox.parser.impl.Parser.parse (Parser.java:1944)
at com.thoughtworks.qdox.library.SourceLibrary.parse (SourceLibrary.java:232)这是与Maven 3.8.6一起运行的。
代码编译文件--只有在运行org.apache.maven.plugins:maven-plugin-plugin:3.6.4:descriptor时才能编译
发布于 2022-09-28 13:52:37
结果表明,这与使用受限标识符(var、产率、记录)作为方法参数有关。在这方面,底层的qdox解析器似乎比Java编译器更挑剔。
在文件上运行Sonarlint有助于确定问题所在。他们在java:S6213规则中提供了一个很好的描述。
https://stackoverflow.com/questions/73872171
复制相似问题