当前位置: 首页 > 知识库问答 >
问题:

告诉IntelliJIdea使用特定的JDK版本,不仅仅是JDK8,而是jdk-8u201

华懿轩
2023-03-14

切换到 JDK8 后,清单。MF Attributes 开始返回 null
https://bugs.openjdk.java.net/browse/JDK-8201636 这表明这是 Oracle 在 JDK 8u151-8u172 中引入的一个错误。

我使用pom.xml和IntelliJ IDEA。pom.xml指定(标签

<maven.compiler.target> 1.8 </maven.compiler.target>
<maven.compiler.source> 1.8 </maven.compiler.source>

IDEA设置显示< code >目标字节码版本1.8 < br > < code > JAVA _ HOME 设置为JDK10
我安装了< code > C:\ Program Files \ JAVA \ JDK 1 . 8 . 0 _ 201 。

如何为生成指定此版本。另外,pom.xml是否胜过IDEA项目设置,反之亦然?

编辑:
我已指定

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <verbose>true</verbose>
                <fork>true</fork>
                <!--executable>{JAVA_1_8_HOME}/bin/javac</executable-->
                <executable>C:/Program Files/Java/jdk1.8.0_201/bin/javac</executable>
                <compilerVersion>1.8</compilerVersion>
            </configuration>
        </plugin>

Intellij 仍然默认为 JDK 1.5,并在 List 上阻塞


共有1个答案

陈项禹
2023-03-14
匿名用户

< code > maven . compiler . target 和< code>source与此无关。这些只是传递给< code>javac的参数。

如果要显式指定 javac 的版本,可以使用 Maven 编译器插件。

<configuration>
  <verbose>true</verbose>
  <fork>true</fork>
  <executable><!-- path-to-javac --></executable>
  <compilerVersion>1.3</compilerVersion>
</configuration>

否则,将使用项目SDK中的< code>javac(项目结构

 类似资料:
  • 问题内容: 我不知道该如何工作。 场景: 我有一个用gradle构建的应用程序 该应用程序使用JavaFX 我想要的是 使用一个变量(针对每个开发人员的机器定义),该变量指向JDK的安装,该安装将用于构建整个应用程序/测试/ … 我考虑过要文件,定义变量。就像是 我不想要的 指向JAVA_HOME所需的JDK 我可以接受很多建议: 定义系统环境变量的解决方案,我可以在脚本中检查 中定义的变量 仅针

  • 场景: 我有一个使用Gradle构建的应用程序 应用程序使用JavaFX 我想要的 null 将指向所需的JDK 我可以接受很多建议: 定义系统环境变量的解决方案,我可以在build.gradle脚本中签入该变量 在gradle.properties中定义的变量 仅针对构建上下文重写JAVA_HOME变量(类似于) 我没有想过的其他事情 问题: 如何将变量(如何定义,如中的变量、系统环境变量、..

  • 我真的需要帮助。 我试图在新机器上运行我的jsp应用程序,jetty给了我这个错误:org.apache.jasper.JasperException:pwc6345:调用javac时有一个错误。需要完整的JDK(而不仅仅是JRE 编辑:问题解决-这是月食月星错误-在月食开普勒,它正在工作

  • 多谢了。 正如一些人所指出的,maven版本中java home中的JRE引用对我来说是一个红鲱鱼兔子洞。经过进一步的测试,我有了一些新的有趣的信息。我直接从命令行运行maven命令。我用eclipse从svn存储库中签出代码,并尝试在该代码上运行maven包,但.war没有正确构建。但是,如果我在eclipse中将一个团队导出到一个新目录,并在该目录上运行maven包,那么它将构建.war fi

  • 问题内容: 我一直在与一个同事一起解决我刚刚加入的一个新项目遇到的问题。长话短说,Maven无法正确构建我的.war文件。当我向我的同事提供战争档案时,他会遇到与我相同的问题,当他向我提供其已编译的.war文件时,一切都会正常进行。我们俩都在同一个源上工作。因此,我正在尝试正确地安装Maven(与他相同),我们现在都具有相同版本的Maven。但是,我认为maven错误地查看了java_home。

  • 问题内容: 我想编写一个函数,该函数接收 几种 类型的结构并从JSON解组。为此,我有另一组带有预定义签名的函数,这些函数返回struct实例,但是由于每个函数都返回不同类型的struct,因此函数签名具有的返回类型。 当我发送json.Unmarshal一个具体的结构时,它可以按照我的预期工作,但是当我发送相同的结构时,它将其转换为地图。 这是描述问题的简化示例代码: https://play.