标题是不明确的,对不起,但我不知道这到底是怎么回事...
好,所以我有正常工作的springboot应用程序(版本2.0.4.RELEASE),weblogic 12.2.1.1。独立运行时,可以。但是,当在weblogic下执行时,beanvalidation会静默忽略所有验证问题。造成这种情况的典型Weblogic原因是,它忽略了应用程序所需的库,而是使用其自己的库而导致应用程序意外和不可靠的行为。是的,在调试时,bean验证代码与pom.xml中声明的内容不匹配。所以我加了
<package-name>org.hibernate.validator.*</package-name>
<package-name>javax.validation.*</package-name>
与prefer-application-packages
一样,但现在我得到
org.eclipse.persistence.jpa.PersistenceProvider cannot be cast to javax.persistence.spi.PersistenceProvider
在这里进行了描述:Weblogic 10.3.3 trying to load org.eclipse.persistence.jpa.PersistenceProvider instead of configured Hibernate Provider,但我无法使其正常工作。有什么帮助吗?我了解,这意味着weblogic可能会破坏springboot应用程序的基础,我想对其进行修复,但是它可以工作,除了beanvalidation之外。因此,完整的修复可能不是必需的,也许有人确实有一个想法,如何通过不同的方式使weblogic启用Bean验证?
我真的很想分享更多,但是那件事根本不会记录任何问题。它只是不验证bean,并且避免使用weblogic时,相同的代码(weblogic工具除外)可以正常工作。
答案 0 :(得分:0)
weblogic.xml中必须有以下内容
...
<prefer-application-resources>
<resource-name>META-INF/services/javax.persistence.spi.PersistenceProvider</resource-name>
...
</prefer-application-resources>
...