Intellij Idea bash中的mvn可以工作,但IntelliJ会产生“error:release version 17 not supported”

plupiseo  于 2024-01-05  发布在  其他
关注(0)|答案(1)|浏览(158)

我对Maven不是很有经验,当然对makefiles也不是。
我有一个makefile,它的步骤是这样的:

  1. do-build:
  2. mvn clean install -DskipTests -Dspotbugs.skip=true -Dpmd.skip=true -Dmaven.javadoc.skip=true

字符串
在bash shell中,我可以直接运行make do-build命令和指定的Maven命令。
然而,在IntelliJ中查看makefile,它在do-build旁边的槽中显示一个绿色“>”图标,但单击该图标会给我一个错误Fatal error compiling: error: release version 17 not supported,我无法解决。为什么??
我已确保:

  • update-alternatives --config java被正确设置为corretto-17。
  • which java报告正确的Java二进制文件。
  • $JAVA_HOME指向这个二进制文件。
  • IntelliJ设置> Java编译器>项目字节码版本:设置为17。
  • IntelliJ Settings > Maven > JDK for importer:设置为17。
  • IntelliJ Project Structure > Project:SDK & Language level:都设置为17。
  • IntelliJ项目结构>模块:语言级别:设置为17。
  • .idea/misc.xml中的component元素列出了JDK 17。
  • 我的pom.xml文件列表:
  1. properties > java.version: 17


*

  1. properties > maven.compiler.source: ${java.version}


*

  1. properties > maven.compiler.target: ${java.version}


*

  1. build > plugins > plugin > artifactId maven-compiler-plugin > configuration > source: ${java.version}


*

  1. build > plugins > plugin > artifactId maven-compiler-plugin > configuration > target: ${java.version}

  • “选择IDE的 Boot 选项”设置为17。
  • 我已经尝试过禁用IntelliJ缓存等。

简而言之,我已经没有东西可查了。但一定有什么东西...?
FWIW,这是Ubuntu MATE 22.04的全新安装。

hxzsmxv2

hxzsmxv21#

事实证明,问题是IntelliJ IDEA uses wrong $JAVA_HOME when running things inside it, and I can't change it,这是一个不同类型的问题(这里有很多很多问题)。
最后,我将echo $JAVA_HOME放入我的makefile中,以查看 * 在IDE中运行时 * 它所指向的内容,然后我为该路径创建了一个符号链接,指向我的实际JDK。这不是针对根本问题的修复,而是一个实际的解决方案。

相关问题