java - 带有 JDK10 SDK 的 IntelliJ 不编译带有 1.8 目标的 Maven 项目

标签 java intellij-idea compilation java-10 java-platform-module-system

考虑 Maven 项目中的以下代码:

import org.w3c.dom.css.CSSStyleDeclaration;

public class Test {
    public static void main(String[] args) {
        CSSStyleDeclaration styleDeclaration = null;
    }
}

在哪里pom.xml包含 maven-compiler-plugin插件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>me.serce.jdk10mvntest</groupId>
    <artifactId>jdk10mvntest</artifactId>
    <version>1.0-SNAPSHOT</version>

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

这个项目可以使用maven编译没有错误。但是,当使用 JDK10 SDK 从 IntelliJ 编译时,它会给出 Error:(1, 27) java: package org.w3c.dom.css does not exist错误。如果源改为<source>10</source>错误消失了。我预计问题可能与 jigsaw 有关, 但我不能使用 --add-modules ...因为javac option --add-modules not allowed with target 1.8 出错.

是否有任何变通方法可以让我使用带有 JDK10 SDK 和 1.8 的 IntelliJ 编译此代码?来源和目标?


IntelliJ:2018.2
Java:Java HotSpot(TM) 64 位服务器 VM 18.3(构建 10.0.1+10,混合模式)

最佳答案

禁用“使用 --release 选项进行交叉编译”:

--release

参见 this issue更多详情和my another answer about this option .

关于java - 带有 JDK10 SDK 的 IntelliJ 不编译带有 1.8 目标的 Maven 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51532053/

相关文章:

java - 如何将此伪代码转换为 Java 而不会出现 java.lang.ArrayIndexOutOfBoundsException

java - Spring 数据 Neo4j : How do I pull a list of nodes of which I do not know the type?

java - 我正在研究数组的基本排序算法,尽管解决方案有效,但我不太完全理解

java - 如何更改 IntelliJ IDEA 中 for 循环声明中变量的颜色?

intellij-idea - 在 IntelliJ IDEA 中刷新 Gradle 项目的键盘快捷键

java - HotSwap Wicket HTML 文件在 Intellij maven + tomcat 中不起作用

c++ - for 循环中的 static_cast

java - Apache POI 单词支持有多好?

c++ - 如何正确扩展C++中的类并编写其头文件?

java - 编译问题: Unreachable statement