Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在IntelliJ中更改Maven的Java版本?_Java_Maven_Intellij Idea - Fatal编程技术网

如何在IntelliJ中更改Maven的Java版本?

如何在IntelliJ中更改Maven的Java版本?,java,maven,intellij-idea,Java,Maven,Intellij Idea,我对Maven和IntelliJ IDEA都是新手 我有一个用Java8编写的Maven项目。每当我尝试构建它时(Maven项目窗口->生命周期->编译->运行Maven构建),我都会遇到一系列编译错误: [ERROR] path/to/file.java:[26,52] lambda expressions are not supported in -source 1.5 (use -source 8 or higher to enable lambda expressions) 我应该在哪

我对Maven和IntelliJ IDEA都是新手

我有一个用Java8编写的Maven项目。每当我尝试构建它时(Maven项目窗口->生命周期->编译->运行Maven构建),我都会遇到一系列编译错误:

[ERROR] path/to/file.java:[26,52] lambda expressions are not supported in -source 1.5
(use -source 8 or higher to enable lambda expressions)
我应该在哪里更改-source参数的值?我尝试在设置->编译器->Java编译器中将其作为附加参数添加,但得到了相同的结果

项目和模块的语言级别都设置为8.0


我正在使用Maven 3.2.3和IntelliJ IDEA Community Edition 13.1.2。

更改源代码,如pom.xml中所示

<build>
        <finalName>MQService</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

MQService
maven编译器插件
1.8
1.8

在pom.xml中更改源代码,如下所示

<build>
        <finalName>MQService</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

MQService
maven编译器插件
1.8
1.8

或更简单,将此添加到pom的
属性
部分:

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

1.8
1.8

或更简单,将此添加到pom的
属性
部分:

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

1.8
1.8
摘要:

  • “maven编译器插件”始终有效这是我建议您使用的
要更改语言级别,请使用

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.4</source>
                <target>1.4</target>
            </configuration>
        </plugin>
    </plugins>
</build>

它被再次检查这就是一个例子。大多数情况下,您不会将JDK的版本降级到1.4

当然,如果您使用属性,比如说您将POM1.8放入,然后如果您在Intellij中使用1.8JDK(语言级别默认值为1.8或语言默认值已手动更改),那么您将能够在1.8中编码,但在mvn编译时,属性将不会被看到,您将默认为Maven 1.5,编译将不会成功总结:

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>
  • “maven编译器插件”始终有效这是我建议您使用的
要更改语言级别,请使用

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.4</source>
                <target>1.4</target>
            </configuration>
        </plugin>
    </plugins>
</build>

它被再次检查这就是一个例子。大多数情况下,您不会将JDK的版本降级到1.4

当然,如果您使用属性,比如说您将POM1.8放入,然后如果您在Intellij中使用1.8JDK(语言级别默认值为1.8或语言默认值已手动更改),那么您将能够在1.8中编码,但在mvn编译时,属性将不会被看到,您将默认为Maven 1.5,编译将不会成功

在root(项目级)pom.xml中添加以下行使我解决了上述问题:(两个选项都对我有效)

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>
备选案文1:

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

1.8
1.8
备选案文2:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

org.apache.maven.plugins

在root(项目级)pom.xml中添加以下行使我解决了上述问题:(两个选项都对我有效)

备选案文1:

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

1.8
1.8
备选案文2:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

org.apache.maven.plugins

有两种方法可以做到这一点:

首先-添加属性

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

1.8
1.8
第二个-添加插件

<plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
</plugin>

maven编译器插件
3.5.1
1.8
1.8

有两种方法:

首先-添加属性

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

1.8
1.8
第二个-添加插件

<plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
</plugin>

maven编译器插件
3.5.1
1.8
1.8

我认为对这个问题的任何回答都没有解决问题-“…在IntelliJ中”

以下是步骤:-

  • 转到IntelliJ(或快捷方式)中的首选项⌘ + ,)
  • 构建、执行、部署>Maven>导入程序-选择“JDK for Importer”下拉列表,然后选择首选java版本,单击应用
  • 构建、执行、部署>Maven>Runner-选择“JRE”下拉列表,然后选择首选java版本,单击应用
  • 单击“确定”

    • 我认为对这个问题的任何回答都没有解决这个问题-“…在IntelliJ中”

      以下是步骤:-

      • 转到IntelliJ(或快捷方式)中的首选项⌘ + ,)
      • 构建、执行、部署>Maven>导入程序-选择“JDK for Importer”下拉列表,然后选择首选java版本,单击应用
      • 构建、执行、部署>Maven>Runner-选择“JRE”下拉列表,然后选择首选java版本,单击应用
      • 单击“确定”

      您应该在pom.xml中添加以下代码,以强制更改语言级别

      <build>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <configuration>
                      <source>8</source>
                      <target>8</target>
                  </configuration>
              </plugin>
          </plugins>
      </build>
      
      
      org.apache.maven.plugins
      maven编译器插件
      8.
      8.
      

      现在intelliJ2019.3 CE为您执行此操作,如果您转到导入,然后alt+enter,您将看到一个选项,上面写着“将语言级别更改为8以使用此功能”

      您应该在pom.xml中添加以下代码以强制更改语言级别

      <build>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <configuration>
                      <source>8</source>
                      <target>8</target>
                  </configuration>
              </plugin>
          </plugins>
      </build>
      
      
      org.apache.maven.plugins
      maven编译器插件
      8.
      8.
      

      现在intelliJ2019.3 CE为您执行此操作,如果您转到导入,然后按住alt键并输入,您将看到一个选项,上面写着“将语言级别更改为8以使用此功能”

      打开ubuntu终端转到您的根目录并键入:

      导出JAVA