gpt4 book ai didi

java - 如何在 Spring 样本宠物诊所中使用JPA?

转载 作者:搜寻专家 更新时间:2023-11-01 01:58:05 25 4
gpt4 key购买 nike

我正在学习 Spring 样本。在 petclinic 项目中,默认使用 jdbc。我将以下行更改为 jpa,并且不能再运行了

/WEB-INF/spring/applicationContext-jpa.xml

这是错误信息:

Caused by: java.lang.IllegalStateException: ClassLoader [org.apache.catalina.loader.WebappClassLoader] does NOT provide an 'addTransformer(ClassFileTransformer)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:spring-agent.jar
at org.springframework.context.weaving.DefaultContextLoadTimeWeaver.setBeanClassLoader(DefaultContextLoadTimeWeaver.java:83)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1418)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1389)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)
... 35 more

任何回复都会很有帮助。

最佳答案

默认的 Tomcat 类加载器不支持加载时编织所需的类转换。您需要使用 Spring 提供的那个。

首先,将org.springframework.instrument-3.0.0.RELEASE.jar复制到tomcat安装的lib文件夹

然后修改 src/main/webapp/META-INF/context.xml 并取消注释以下行:

<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>

或者您可以摆脱 LTW 并使用 Hibernate 作为 JPA 提供程序。请参阅下面的相关问题。

另见

相关问题

引用资料

关于java - 如何在 Spring 样本宠物诊所中使用JPA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3487588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com