java - 无法使用源选项编译 Java 11 代码

标签 java maven

我正在尝试测试模块之间的交叉编译。我有一个使用 java 1.8 的模块,另一个模块使用 Java 11。我尝试使用 Java 11 模块作为 Java 1.8 项目的依赖项。当我尝试编译 Java 11 模块时,maven 显示错误。

主模块

<project>
        <dependencies>
            <dependency>
                <groupId>com.berkin</groupId>
                <artifactId>java</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>

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

名为 JAVA 的辅助模块

<project>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.berkin</groupId>
    <artifactId>java</artifactId>
    <version>1.0-SNAPSHOT</version>

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

辅助模块上的代码

public class Test {
    public void test(){
        System.out.println(" ".isEmpty()); //true
    }
}

理论上我应该能够使用 java 11 编译器编译辅助模块并在 min Java 8 JRE 中使用它。因此我也可以在 Java 8 项目中使用它作为依赖项。我哪里失踪了?

ERROR

 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project java: Fatal error compiling: invalid source release: 11 -> [Help 1]

谢谢。

最佳答案

主要原因是您不能使用低于目标值的值。如果您希望代码兼容Java 1.8,请将源代码降低到1.8

关于java - 无法使用源选项编译 Java 11 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60513814/

相关文章:

java - "GetMessage()"循环的 Java Swing 对应物在哪里?

java - 如何在 Java 中存储变量,以便下次启动 .jar 时可以使用它?

java - Mirror Maven Repository using OSS Software(尝试使用Artifactory OSS)

java - 将 Javadoc 位置分配给 Eclipse 中的 maven 管理的依赖项,其中手动安装 Javadoc

java - 为什么此 Servlet 在其 "Thread Per Connection"策略中使用多个线程?

java - 可以使用相同的计时器使用 2 个时间表

java - Java从Word文档中读取.docx格式的数据作为每个字段并保存到数据库中

java - Maven beans.xml

maven - 如果 Maven Central 永久宕机怎么办?

java - Maven – 始终下载源代码和 javadocs