【发布时间】:2018-01-08 08:57:49
【问题描述】:
我正在尝试在 java 8 上构建一个项目,指定 java 6 作为目标:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
项目设置:
通用 IDE(Java 编译器)设置:
最后我遇到了错误:
javacTask:源版本 1.8 需要目标版本 1.8
有没有可能在 java 8 上以 java 6 为目标构建项目?
【问题讨论】:
-
您不能将源 1.8 与目标 1.6 结合起来。两者都使用 1.6(假设您的源代码实际上是 Java 6)
-
我不确定答案,但认为您(至少)需要将“项目设置”屏幕截图中的“项目语言级别”更改为 6。我相信这就是 IntelliJ用于确定您可以使用哪些功能,因此,如果您想在 Java 6 上运行,您将无法使用 Lambda 等。
-
理论上将源和目标都切换到 1.6 会构建您的项目。但是,要运行 spring 应用程序,您需要使用 jre 1.6 上支持的 spring 版本和设置
-
Java 8 具有 Java 6 中没有的特性,包括字节码级别。开始工作并非易事,您可能很容易遇到细微的错误。为什么要这样做?
标签: java maven intellij-idea