Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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
Java Eclipse总是忘记JDK遵从性,将其设置为1.6_Java_Eclipse_Maven_M2eclipse - Fatal编程技术网

Java Eclipse总是忘记JDK遵从性,将其设置为1.6

Java Eclipse总是忘记JDK遵从性,将其设置为1.6,java,eclipse,maven,m2eclipse,Java,Eclipse,Maven,M2eclipse,我在eclipse中有一个maven项目,它使用一些lambda,这意味着我需要Java8。我已经将maven中的java版本设置为1.8。但是,我必须不断地打开项目的属性,并将其符合性级别设置为1.8,因为它不断地被重置为1.6 我使用的是EclipseEELuna4.4.0,我尝试过不同的方法,比如禁用每个项目的设置,或者进入项目并将其符合性设置为1.8,但从长远来看,这两种方法都不起作用 通常,在将项目符合性再次设置为1.8之后,包视图显示ok,但如果打开了使用lambdas的文件,编辑器

我在eclipse中有一个maven项目,它使用一些lambda,这意味着我需要Java8。我已经将maven中的java版本设置为1.8。但是,我必须不断地打开项目的属性,并将其符合性级别设置为1.8,因为它不断地被重置为1.6

我使用的是EclipseEELuna4.4.0,我尝试过不同的方法,比如禁用每个项目的设置,或者进入项目并将其符合性设置为1.8,但从长远来看,这两种方法都不起作用

通常,在将项目符合性再次设置为1.8之后,包视图显示ok,但如果打开了使用lambdas的文件,编辑器仍会显示错误。然后我必须点击编辑器中的错误标记并选择建议“将项目符合性级别设置为1.8”。有时有效,有时无效

这个问题特别是在启动eclipse、关闭和打开同一个项目,或者在我签出时触发的。当我执行alt+f5和update时,包视图通常没有错误,但是编辑器视图通常仍然显示错误

我的EclipseMaven插件使用与我在命令行中使用的相同的maven脚本,并且我在命令行中从未遇到过问题

这让我抓狂,因为它每天至少发生2次,而且没有一个简单的解决方法

在我的pom和父pom文件的末尾,我有以下内容:

<project>
. . .
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <encoding>UTF-8</encoding>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>  
</build>
</project>

. . .
org.apache.maven.plugins
maven编译器插件
3.1
UTF-8
1.8
1.8

您是否安装了m2e插件

我以前也遇到过类似的问题,插件总是抱怨父pom的语法。
我最终禁用了插件,并使用mvn eclipse:eclipse创建/更新项目。

在我的例子中,没有父pom。我决定:
(1) 从eclipse工作区中删除项目(不要删除磁盘内容)。
(2) 从目录中搜索“1.5”(使用记事本++),在.settings/org.eclipse.jdt.core.prefs中找到3个出现的问题,将它们替换为1.8并保存。
(3) 在eclipse中重新打开项目


请注意,如果在ecplise编辑器中替换它们,则不起作用。

是否使用Java 8启动eclipse?是否尝试过转到eclipse Perferences->Java->Compiler并将编译器符合性级别更改为1.8。这将更改所有使用默认版本的eclipse项目的默认JDK版本(尽管您做出了努力,但这一版本听起来还是在这样做)。再看一下@Elliot是的,我从命令行开始使用它以获得更好的控制。仅供参考,当我将JAVA_HOME和PATH设置为JAVA 7或JAVA 8时没有任何区别。@ug_我已经尝试过一次,但问题仍然存在。谢谢你的链接,我在周一早上读它,听起来很熟悉,但我不确定我是否读过它。看起来罪魁祸首是m2eclipse插件。在#mvn eclipse:eclipse之后,一切看起来都很好,但在我用lambdas编辑文件或我使用alt+f5编辑文件后不久,eclipse将更新其设置。我不知道如何告诉它做我需要的事情。JDT设置似乎是主要症状:#grep.settings/org.eclipse.JDT.core.prefs-e compliance-e target org.eclipse.JDT.core.compiler.codegen.targetPlatform=1.6 org.eclipse.JDT.core.compiler.compliance=1.6这很有意义。在我的例子中,事情更加复杂,因为我们从另一个pom继承了我们的pom,而这个pom里面有很多魔法。它包含的一个调整是设置java遵从性。幸运的是,我们能够发现这个问题并纠正父pom。