OpenJPA 3.2.2本地构建失败:无法访问com.sun.beans.introspect.PropertyInfo
解决OpenJPA 3.2.2构建时找不到
com.sun.beans.introspect.PropertyInfo的问题 这个错误的核心原因是:com.sun.beans.introspect.PropertyInfo是Oracle/OpenJDK 8中的内部类,JDK 11及以上版本已移除该内部包,而OpenJPA 3.2.2的源码依赖该类。你可以通过以下方式解决:
切换到JDK 8版本
确保本地构建环境使用JDK 8(Oracle JDK 8或OpenJDK 8均可),通过java -version命令确认当前JDK版本。如果是多JDK环境,可通过以下方式切换:- Linux/macOS:执行
export JAVA_HOME=/path/to/your/jdk8 - Windows:在系统环境变量中设置
JAVA_HOME指向JDK 8的安装路径
切换完成后,重新执行构建命令:
mvn clean install -DskipTests=true- Linux/macOS:执行
临时源码修改(不推荐)
若无法切换JDK,可尝试修改openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java中依赖该类的代码,用JDK公开API(比如java.beans.Introspector相关方法)替代内部类调用。但这种方式需要改动源码,可能引发其他兼容性问题,仅适合应急场景。
内容的提问来源于stack exchange,提问作者ma4stro
相关产品推荐
相关产品推荐

