0

我刚刚升级到 Apache Cayenne 4.0 M5,我收到以下错误:

在 org.apache.cayenne.di.spi.DefaultInjector.( DefaultInjector.java:68) 在 org.apache.cayenne.di.DIBootstrap.createInjector(DIBootstrap.java:38) 在 org.apache.cayenne.di.DIBootstrap.createInjector(DIBootstrap.java:46) 在 org.apache.cayenne .configuration.CayenneRuntime.(CayenneRuntime.java:79) 在 org.apache.cayenne.configuration.server.ServerRuntime.(ServerRuntime.java:128) 在 org.apache.cayenne.configuration.server.ServerRuntimeBuilder.build(ServerRuntimeBuilder.java :234) 在 com.company.databases.postgresql.financedb.runtime.FinanceDBRuntime.getFinanceAccountsDBPostgreSQLRuntime(FinanceDBRuntime.java:11)

我所做的更改是从 new ServerRuntime("configfile")(标记为已弃用)更改为 ServerRuntime.builder("configfile").build()。而且...我使用建模器重新生成所有类,这些类更改为“Property.create(”...

我降级到 M4,恢复所有更改,一切正常。

这是 M5 版本中的错误吗?或者我该如何解决这个问题?谢谢!

4

1 回答 1

1

cayenne-jcache-4.0.M5.jar一个简短的回答 -如果您不打算使用 JCache,请从您的应用程序依赖项中删除。

更长的答案 - Cayenne 4.0.M5 具有模块自动加载功能。因此,每当您将任何cayenne-*.jar内容放在类路径上时,它都会尝试在 ServerRuntime 中安装其扩展。专门cayenne-jcache-4.0.M5.jar尝试安装基于JCache的QueryCache,由于JCache库不可用,抛出异常。

有关更多详细信息和其他 M5 更改,请参阅 M5 UPGRADE.txt

于 2017-03-13T11:30:23.037 回答