惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
雷峰网
雷峰网
量子位
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
T
Tailwind CSS Blog
月光博客
月光博客
博客园 - 【当耐特】
博客园_首页
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
人人都是产品经理
人人都是产品经理
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 大自然的流风

AI#71 如何把eclipse项目转换成Qoder项目?如何下载安装IntelliJ IDEA? EvoMap胶囊评估体系完整指南:如何让你的基因胶囊脱颖而出 Linux 复制一个文件夹里的内容到另外一个文件夹 投资#1053 提升投资能力最快的方法,价值投资只要抓住一个核心就可以了 格式化U盘128G的(行车记录仪用的)要选择那个分配单元大小比较好?提示windows无法完成格式化如何处理? 360极速浏览器控制台Console粘贴限制的解决办法 投资#888 如何能不上班还有钱?段永平投资智慧的精华总结 关税战下是否对你所在的城市有影响?中国主要城市外贸依存度排行,外贸20强市排行 投资#817 搞钱高手都是极简主义者,《穷查理宝典》工资太低的时候,必须做3件事,实战情况远比你想象的意外情况多 投资#772 想交易成功就得果断,形势不利就止损,市场永远不缺长期的机会,按原则交易才能长期赚钱 投资#763 你的超额收益来自于共识之上的认知,自认克服不了人性的弱点就别加杠杆,吃红利与垃圾理论 杂谈#128 真正的疗愈核心是什么?真正的接纳真正的放下是什么?认知自我很重要,但不是我们的全部,还有身体自我 windows系统配置本地host域名方法,xampp,php文件在其他盘上配置的方法 杂谈#120 人到中年感觉迷茫、一事无成、赚不到钱怎么办?如何抓住做事的核心?疗愈就是允许接纳连接 linux系统contab-r命令误删定时任务紧急修复办法 能用微信QQ不能用浏览器上网的原因,使用代理服务器开关被打开了,广东省电信的DNS服务器IP地址,Google提供的免费DNS服务器的IP地址 - 大自然的流风 如何关闭小米手机澎湃os截图保存到剪贴板功能 投资#558 元宇宙概念开始拉盘了,牛市很好做也很难做,频繁换仓的后果就是踏空 投资#552 比特币突破6.6万美金了,meme币继续大涨,投资的核心关键是要有耐心和闲钱
eclipse java 项目,第一个java文件总是提示:The type java....
大自然的流风 · 2025-02-09 · via 博客园 - 大自然的流风

eclipse java 项目,第一个java文件总是提示:The type java.lang.invoke.StringConcatFactory cannot be resolved. It is indirectly referenced from required .class files,删掉第一个java文件后第二个java文件也提示同样的错误

jdk1.8对应的Compiler compliance level 是 1.8

本人是level 被默认为22导致的错误。

  1. 调整编译器合规级别

    • 右键项目 → Properties → Java Compiler

    • 确保 Use compliance from execution environment 勾选,并选择与 JDK 匹配的版本(如 Java 17)。

    • 或取消勾选,手动设置 Compiler compliance level 为与 JDK 一致的版本。

===========

以下为deepseek给出的解决方案,不得不说deepseek真是强大。

在 Eclipse 中遇到 The type java.lang.invoke.StringConcatFactory cannot be resolved 错误,通常是由于 Java 版本不兼容编译器设置问题导致。以下是逐步排查与解决方案:


1. 检查 JDK 版本兼容性

问题原因

  • java.lang.invoke.StringConcatFactory 是 Java 9+ 引入的类。

  • 若项目使用的 Java 版本 < 9(如 Java 8),但代码或依赖库间接引用了该特性,会触发此错误。

解决方法

  1. 确认项目使用的 JDK 版本

    • 右键项目 → Properties → Java Build Path → Libraries 选项卡。

    • 检查 JRE System Library 是否指向 Java 9 或更高版本(如 Java 11、17)。

      • 若版本过低,需更换为高版本 JDK(下载地址)。

  2. 调整编译器合规级别

    • 右键项目 → Properties → Java Compiler

    • 确保 Use compliance from execution environment 勾选,并选择与 JDK 匹配的版本(如 Java 17)。

    • 或取消勾选,手动设置 Compiler compliance level 为与 JDK 一致的版本。


2. 修复 JRE 系统库配置

步骤

  1. 移除旧的 JRE 系统库:

    • 右键项目 → Build Path → Configure Build Path → Libraries 选项卡。

    • 选中旧的 JRE System Library(如 Java 1.8)→ 点击 Remove

  2. 添加正确的 JRE 系统库:

    • 点击 Add Library → 选择 JRE System Library → Alternate JRE → 选择已安装的高版本 JDK(如 Java 17)。

    • 若列表中没有目标 JDK,需先在 Eclipse 中添加:

      • Window → Preferences → Java → Installed JREs → Add → 指定 JDK 安装路径。


3. 清理项目并更新依赖

清理项目

  • 右键项目 → Clean → 选择项目 → Clean

  • 或者通过菜单 Project → Clean

更新 Maven/Gradle 依赖(若适用)

  • Maven 项目:右键项目 → Maven → Update Project → 勾选 Force Update → OK

  • Gradle 项目:右键项目 → Gradle → Refresh Gradle Project


4. 检查 Eclipse 配置

  1. 确保 Eclipse 支持当前 Java 版本

    • Eclipse 版本需与 JDK 版本兼容(如 Eclipse 2023-03 支持 Java 20)。

    • 更新 Eclipse:Help → Check for Updates

  2. 重置 Eclipse 缓存

    • 关闭 Eclipse。

    • 删除工作区目录下的 .metadata/.plugins/org.eclipse.jdt.core 文件夹。

    • 重新启动 Eclipse。


5. 验证代码兼容性

  • 确保代码未直接或间接使用 Java 9+ 的 API(如 StringConcatFactory):

    • 若依赖库(如 Lombok、第三方 Jar 包)需要高版本 Java,需升级项目 JDK 或更换依赖版本。


6. 重新创建项目(终极方案)

若上述步骤无效,尝试新建项目并迁移代码:

  1. 创建新的 Java 项目,选择正确的 JDK 版本。

  2. 将旧项目的代码和配置文件(如 pom.xml)复制到新项目。

  3. 重新编译并运行。


常见错误场景

  • 场景 1:项目使用 Java 8,但依赖库需要 Java 11+。

    • 方案:升级项目 JDK 至 11+,或降低依赖库版本。

  • 场景 2:Eclipse 缓存损坏。

    • 方案:清理项目并重置缓存(见步骤 4)。


通过以上步骤,可系统性解决 StringConcatFactory 错误。若仍存在问题,可提供具体 JDK 版本、Eclipse 版本和项目配置,进一步排查!

大自然,飘然的风,QQ群: python技术交流群:453879716,人工智能深度学习群:251088643
golang技术交流群:316397059,vuejs技术交流群:458915921 囤币一族:621258209,有兴趣的可以加入
微信公众号: 心禅道(xinchandao)投资论道