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

IntelliJ with JDK10 SDK doesn't compile maven project with 1.8 target

考虑 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 的 IntelliJ 和 1.8 源和目标来编译此代码?


IntelliJ:2018.2
Java:Java HotSpot(TM) 64 位服务器 VM 18.3(内部版本 10.0.1+10,混合模式)

禁用 "Use --release option for cross-compilation":

参见this issue for more details and