You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ运行TestNG.xml报java: package java.time does not exist问题求助

问题原因及解决办法

出现java: package java.time does not exist错误,核心是编译或运行环境的JDK版本配置不匹配导致的,以下是具体原因和对应解决方案:

  • Maven编译插件配置覆盖IDE设置
    Maven编译配置优先级高于IDE模块语言级别设置,如果pom.xml中maven-compiler-plugin的source和target版本未正确设置为11(或低于8),编译时会采用低版本JDK规范,无法识别java.time包(该包从Java8开始引入)。
    解决:在pom.xml中添加或修改编译插件配置:

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

    配置完成后,执行mvn clean compile命令,或点击IDEA右侧Maven面板的「Reload All Maven Projects」刷新配置。

  • 项目全局SDK配置错误
    仅修改模块语言级别,未将项目全局SDK设置为JDK11,会导致编译时默认使用其他版本JDK。
    解决:打开File -> Project Structure -> Project,确保「Project SDK」选择JDK11,「Project language level」设置为11。

  • TestNG运行配置的JRE版本不匹配
    即使编译环境配置正确,TestNG运行时使用的JRE版本低于11,也会触发该错误。
    解决:打开「Run/Debug Configurations」,找到对应的TestNG配置,在「JRE」下拉菜单中选择JDK11。

  • IDE缓存或索引异常
    IDEA的缓存或索引损坏可能导致代码识别错误,即使配置正确也会报错。
    解决:打开File -> Invalidate Caches...,勾选「Invalidate and Restart」重启IDEA,清除缓存后重新加载项目。

内容的提问来源于stack exchange,提问作者Amir Ali Ansari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:15:28