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

IntelliJ Idea Maven插件在配置为1.8(Mac)时,尝试在Java 1.7中编译

孟承嗣
2023-03-14

我正在尝试针对一个示例项目运行一个maven目标,同时增加一个新项目。我对Mac和IntelliJ都是新手(我在评估它时与Eclipse Luna并排运行社区版)。这一切都适用于Eclipse和终端。

我遇到的问题是让Maven在Java8中运行它。我已经将JAVA_HOME配置为1.8,将项目JDK设置为1.8,将语言级别设置为1.8,等等。代码经过编译(使用lambdas),因此IntelliJ使用的显然是1.8。但是Maven插件似乎不想尊重这种设置。

以下是maven目标配置(使用部署目标):工作目录:/Users/brian。trezise/IdeaProjects/exampleservice命令行:clean install tomcat7:run

当我从Maven Projects弹出窗口执行目标时,它执行的是:

/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/bin/java -Dmaven.home=/usr/local/Cellar/maven/3.2.2/libexec -Dclassworlds.conf=/usr/local/Cellar/maven/3.2.2/libexec/bin/m2.conf -Didea.launcher.port=7532 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 13 CE.app/bin" -Dfile.encoding=UTF-8 -classpath "/usr/local/Cellar/maven/3.2.2/libexec/boot/plexus-classworlds-2.5.1.jar:/Applications/IntelliJ IDEA 13 CE.app/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=13.1.4 clean install tomcat7:run

它似乎运行良好,直到Maven尝试编译(下载所有依赖项等),然后我得到以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project inin-example-app: Compilation failure
[ERROR] /Users/brian.trezise/IdeaProjects/exampleservice/src/main/java/com/inin/example/controller/PingController.java:[53,49] lambda expressions are not supported in -source 1.7
[ERROR] (use -source 8 or higher to enable lambda expressions)

我不确定如何将其配置为使用“-source 8”(如果我将其添加到命令行,它只会失败)。

有人愿意同情一个IntelliJ新手吗?

共有2个答案

慕逸仙
2023-03-14

我尝试对Intellij IDEA进行如下更改:

1.

File >> Settings >> Build, Execution, Deployment >> Compiler >> Java Compiler >> project bytecode version: 1.8 >> Per-module bytecode version: 1.8

2.

File >> Project Structure >> Project Settings >> Project >> SDK : 1.8, Project Language : 8 - Lambdas
File >> Project Structure >> Project Settings >> Modules >> abc : Language level: 8 - Lambdas

但是什么都不起作用,我一保存它,它就将版本恢复为java 1.5。

然而,将以下行添加到root(项目级别)pom.xml使我解决了上述问题:(这两个选项对我都有效)

备选方案1:

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

选项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>

最初发布于:IntelliJ IDEA 13使用Java 1.5,尽管设置为1.7

漆雕育
2023-03-14

看起来你可能在Maven构建中缺少了编译器插件,因此默认为1.7,请尝试将以下内容添加到pom中。xmlbuild部分

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
 类似资料:
  • 我试图创建Flutter桌面应用程序,可以访问桌面上的网络摄像头(Windows/Linux)。似乎没有Flutter插件支持桌面摄像头。是否有关于如何在Flutter中为Linux/Windows编写插件的文档或教程?

  • 我现在已经为javac ant任务问题苦苦挣扎了很长时间。问题是ant显然忽略了设置为1.5的target属性: 目标和源设置为1.5。运行任务时出现编译错误: 根据java docs(link)方法,createStruct是在Java1.6中引入的,所以我知道ant是在编译到1.6而不是像我礼貌地要求的那样编译到1.5。 我已经尝试了所有我能在网上找到的,现在我放弃了。有人能帮帮我吗?非常请.

  • 我正在使用org.codehaus.mojo exec-maven-plugin通过我的pom.xml项目执行一个可执行的。jar文件。目前这不起作用,我不确定为什么。当我指定CommandLineArgs时会发生错误。 我的插件如下所示:

  • 有人知道如何解决这个问题吗?不能在R. install.packages("devool")还安装了依赖项'ps','fs','Procexx','xopen','usethis','Call r','git2r','pkgbuild','pkgload','rcmdcheck','roxygen2' null 下载的源程序包位于“/private/var/folders/s2/cptzh4ls2

  • 我已经搜索了几种在Mac上更改JDK版本的方法。 我得到了 我如何在我的Mac上改变java版本。

  • 我正在尝试从Ansible 2.9升级。2至2.10。我知道当前的ansible需要删除,我相信我在这方面取得了成功。文档中有几个不同的命令行(使用pip安装Ansible)。那个似乎没有出错的人使用了python3,并产生了。。。 但“which ansible”不产生输出,“ansible--version”命令未找到。 使用原始的python(2.7.16)产生... 但仍然没有答案。你知道