当前位置: 首页 > 知识库问答 >
问题:

使用JDK10 SDK的IntelliJ不编译具有1.8目标的maven项目

满雨石
2023-03-14

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

import org.w3c.dom.css.CSSStyleDeclaration;

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

其中pom。xml包含maven编译器插件

<?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编译时,它会给出错误:(1,27)java:package-org。w3c。dom。css不存在错误。如果源代码更改为<代码>

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

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

共有1个答案

谭骏
2023-03-14

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

请参阅本期了解更多详细信息,以及我关于此选项的另一个答案。

 类似资料:
  • 我已经将Jitpack repo和依赖项从Github添加到pom中。但它仍然无法编译。然而,当我指向导入块中的行时,它清楚地显示了模块的描述。VSCode截图 例如,我尝试导入com.github.kwhat.jnativehook.GlobalScreen,它显示了模块的描述,但仍然用红色下划线并显示错误: 类型为com。github。科哈特。jnativehook。无法通过Java访问Glo

  • 我们刚刚将项目从升级到。在我的机器中构建项目时,我遇到以下错误。 [错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.3:在项目上编译(default-compile)异常:编译时出现致命错误:目标版本无效:1.8->[帮助1] 下面是所使用的maven编译器插件 我看了很多帖子,其中大多数都与没有为java_home配置正确的版本

  • 我有一个Java FX项目,正在使用maven 3.0.5进行构建。当我运行mvn package/install时,项目失败并抱怨包javafx.*不存在。据我所知,Javafx是用Java1.7封装的,所以构建过程中不采用这一点是没有意义的。当我在IDE(intellij)中编译它时,它工作得很好,然后我的maven构建也成功安装了,但是我不希望每次进行干净的安装时都要经历IDE。有什么想法吗

  • Java和Maven新手。 我试图配置我的应用程序,以便我可以通过cmd线生成一个jar,其中包含我所有的依赖项。 据我所知,我正在正确设置Pom以使用此插件:https://github.com/javafx-maven-plugin/javafx-maven-plugin 以下是我在Pom中的依赖项: 在我的

  • 我使用maven命令来清理、构建整个项目、创建war并部署到服务器。我不能使用Intellij来做这件事,因为我只有社区版。它在与intellij相同的目录中构建项目。 为了加快速度,我编写了一个脚本,可以在本地“target”目录中找到比服务器中更新的已编译文件,并进行复制。虽然一切正常,但问题是Intellij并没有将使用maven编译的类视为应该跳过并重新构建整个项目的类。 目前它的工作原理

  • 我在问和回答我自己的问题,但我并不认为我有最好的答案。如果你有一个更好的,请张贴它! 相关问题: Lombok没有生成getter和setter 在IntelliJ IDEA下使用Lombok时无法编译项目 以下是症状: > 我有这个编译错误:“当我尝试运行代码或执行“mvn clean install”时,找不到符号方法getName()。 如果我去 重构- 所有注释都标记为“只读” 作为IDE