gpt4 book ai didi

java - Google Guice 和 JPA 注入(inject) - 奇怪的错误

转载 作者:行者123 更新时间:2023-11-30 05:00:11 25 4
gpt4 key购买 nike

我目前正在开发 JPA Jersey Servlet,并尝试使用 Guice 进行依赖项注入(inject)。问题是,我收到以下错误:

Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: com.google.inject.CreationException: Guice creation errors:

1) null returned by binding at com.google.inject.persist.jpa.JpaPersistModule.configurePersistence(JpaPersistModule.java:63)
but parameter 1 of com.google.inject.persist.jpa.JpaPersistService.<init>() is not @Nullable
while locating java.util.Properties annotated with @com.google.inject.persist.jpa.Jpa()
for parameter 1 at com.google.inject.persist.jpa.JpaPersistService.<init>(JpaPersistService.java:43)
at com.google.inject.persist.jpa.JpaPersistModule.configurePersistence(JpaPersistModule.java:67)
while locating com.google.inject.persist.jpa.JpaPersistService
for field at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.emProvider(JpaLocalTxnInterceptor.java:33)
at com.google.inject.persist.jpa.JpaPersistModule.configurePersistence(JpaPersistModule.java:76)

2) null returned by binding at com.google.inject.persist.jpa.JpaPersistModule.configurePersistence(JpaPersistModule.java:63)
but parameter 1 of com.google.inject.persist.jpa.JpaPersistService.<init>() is not @Nullable
while locating java.util.Properties annotated with @com.google.inject.persist.jpa.Jpa()
for parameter 1 at com.google.inject.persist.jpa.JpaPersistService.<init>(JpaPersistService.java:43)
at com.google.inject.persist.jpa.JpaPersistModule.configurePersistence(JpaPersistModule.java:67)
while locating com.google.inject.persist.jpa.JpaPersistService
while locating com.google.inject.persist.UnitOfWork
for field at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.unitOfWork(JpaLocalTxnInterceptor.java:36)
at com.google.inject.persist.jpa.JpaPersistModule.configurePersistence(JpaPersistModule.java:76)
2 errors

我生成此错误的代码是:

install(new JpaPersistModule("theseen")); 
filter("/*").through(PersistFilter.class);

如果我通过实例化 EntitiManager 并取消注释这些行来使用“标准”方式,则不会发生任何事情。

 EntityManagerFactory emf = Persistence
.createEntityManagerFactory("theseen");
EntityManager em = emf.createEntityManager();

em.getTransaction().begin();
em.merge(s);
em.getTransaction().commit();

就像一个魅力。所以我认为数据库连接的设置一定是没问题的。

这些错误可能是什么?我在另一个测试环境上测试了同一个应用程序,它可以工作!两台机器都使用 Glassfish 3.1、Eclipse Indigo 以及 m2eclipse 和 m2wtp 集成。我将 Guice 3.0 与 guice-persist 3.0 和 guice-servlet 3.0 一起使用。该应用程序运行的计算机运行带有 OpenJDK 的 Ubuntu 11.04,出现问题的计算机使用带有 JDK1.6v26 的 Windows 7。我通常使用 Glassfish 提供的数据源,但即使使用普通的 persistence.xml 也不起作用。

我真的很困惑……你知道 JPA 的 Guice 注入(inject)有什么问题吗?

最佳答案

由于没有人回答,我就使用了暴力:

完全重新安装 Glassfish,WebApp 就可以工作了...

在我的本地计算机上进行长达数月的测试期间,某些内容一定已损坏。

关于java - Google Guice 和 JPA 注入(inject) - 奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7033399/

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