使用JDK10 SDK的IntelliJ无法编译1.8目标的maven项目

Ser*_*rCe 8 java compilation intellij-idea java-platform-module-system java-10

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

import org.w3c.dom.css.CSSStyleDeclaration;

public class Test {
    public static void main(String[] args) {
        CSSStyleDeclaration styleDeclaration = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

哪里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>
Run Code Online (Sandbox Code Playgroud)

可以使用maven编译该项目,没有错误.但是,当它使用带有JDK10 SDK的IntelliJ编译时,会Error:(1, 27) java: package org.w3c.dom.css does not exist出错.如果源更改为<source>10</source>错误消失.我希望问题可能与拼图相关,但我无法使用--add-modules ...因为javac错误option --add-modules not allowed with target 1.8.

是否有任何变通方法允许我使用IntelliJ与JDK10 SDK以及1.8源和目标编译此代码?


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

Cra*_*der 7

禁用"使用--release交叉编译选项":

- 发布

有关此选项的更多详细信息和另一个答案,请参阅此问题.