启动 jeecg项目报错 java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid’。
遇到 java.lang.NoSuchFieldError 错误通常意味着运行时环境中某个类的定义与编译时期使用的定义不一致。针对错误信息 java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree和JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid’,问题出现在JCTree$JCImport类的qualid字段上。这种问题通常是因为JDK版本的不兼容或错误导致的。
首先检查你的项目所需的JDK版本,并与你当前安装的版本进行对比。Jeecg项目可能依赖于特定版本的JDK,确保你使用的JDK版本与项目要求一致。
如果你的项目通过Maven或Gradle管理依赖,检查是否有依赖项明确或间接引用了com.sun.tools.javac.tree.JCTree相关的类或包。这可能导致了版本冲突。
确保JAVA_HOME环境变量指向正确的JDK路径,并且PATH变量中的JDK路径设置正确。
如果你使用的是IDE(如IntelliJ IDEA或Eclipse),请检查项目的构建配置,确保项目SDK设置为正确的JDK版本。
尝试清理你的项目(例如,在Maven中运行mvn clean命令或在Gradle中运行gradle clean),然后重新构建项目。
如果你使用了额外的IDE插件或构建脚本,它们可能会引入特定版本的JDK或与JDK相关的工具。确保这些工具与你的JDK版本兼容。
如果可能,尝试将你的项目或其依赖项更新到最新版本。有时候,这类问题在新版本中已经被修复。