Java11time包使用问题解决方法
时间:2026-01-27 08:36:46 492浏览 收藏
有志者,事竟成!如果你在学习文章,那么本文《Java11 time包不可用解决方法》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

IntelliJ IDEA 中出现 “package java.time does not exist” 错误,根本原因是项目编译级别、JDK 配置或 Maven 编译插件未统一设为 Java 11,导致 java.time.Duration 等 Java 8+ 新增 API 无法识别。
该错误常见于 Selenium + TestNG 的 Maven 项目中,尤其当代码中使用了 Duration.ofSeconds(10) 并显式导入 import java.time.Duration 时——这要求运行环境和编译环境均支持 Java 8 及以上版本(java.time 自 Java 8 引入,但 JDK 11 是更稳妥的基准)。尽管你已安装 JDK 11 并在模块中设置了 Language Level 为 11,仍报错,说明多层级编译配置未完全对齐。
✅ 正确解决需同步校准以下三个关键位置:
1. 模块语言级别(Project Structure)
- 路径:File → Project Structure → Modules → Sources
- 确保 Language level 明确选择 11 (Preview) - Local variable syntax for lambda parameters 或至少 11
- ⚠️ 注意:仅设置为 “Project default” 不可靠,务必手动指定为 11
2. 编译器字节码目标版本(IDEA 编译器设置)
- 路径:File → Settings → Build, Execution, Deployment → Compiler → Java Compiler
- 设置 Target bytecode version 为 11
- 同时确认 Project bytecode version(位于同一页面顶部)也为 11
→ 此项控制 IDEA 内置编译器生成的 .class 文件兼容性,若仍为 8 或未设置,java.time 类型将被忽略。
3. Maven 编译插件配置(pom.xml)
即使 IDE 配置正确,Maven 构建(如执行 testng.xml 时由 Maven 触发)仍会按 pom.xml 中定义的规则编译。必须显式声明源码与目标版本:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version> <!-- 推荐使用 3.8.1+(兼容 JDK 11) -->
<configuration>
<source>11</source>
<target>11</target>
<!-- 可选:显式指定 JDK 路径(若多 JDK 共存) -->
<!-- <fork>true</fork>
<executable>/path/to/jdk-11/bin/javac</executable> -->
</configuration>
</plugin>
</plugins>
</build>? 验证是否生效?
执行以下任一操作后重新编译:
- 在 IDEA 中点击 File → Reload project(针对 Maven 项目)
- 终端运行 mvn clean compile,观察是否仍有编译错误
- 在测试类中尝试 new Duration() —— 若无红线且可跳转到 java.time.Duration,即配置成功。
? 额外建议:
- 检查 Project SDK 是否真正指向 JDK 11:File → Project Structure → Project → Project SDK
- 避免混用 JRE 与 JDK:java.time 属于 JDK 标准库,运行时必须使用完整 JDK(而非仅 JRE)
- 若使用 IntelliJ 的内置构建(非 Maven),还需检查 Build → Build Tools → Maven → Importing 中的 JDK for importer 是否设为 JDK 11
完成上述三步后,driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10)) 将正常编译与运行,java.time 包不再报错。核心原则是:JDK 版本、源码级别、字节码目标、构建工具配置,四者必须严格一致为 Java 11。
到这里,我们也就讲完了《Java11time包使用问题解决方法》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
267 收藏
-
493 收藏
-
127 收藏
-
156 收藏
-
133 收藏
-
318 收藏
-
370 收藏
-
382 收藏
-
389 收藏
-
465 收藏
-
480 收藏
-
306 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习