我为这个错误苦了几天。
当我尝试从ide(IntelliJ-eclipse)进行部署时,它可以正常工作。
但是当我尝试从WebLogic控制台进行部署时,出现了这些错误;
Error Unable to access the selected application.
Error Unable to invoke Annotation processoror.
Error Unable to invoke Annotation processoror.
有关更多信息,我检查了堆栈跟踪中的日志和错误。看来主要错误是:javax.persistence.PersistenceException:没有名称为EntityManager的持久性提供程序。
在调试中,从此代码中抛出; Persistence.createEntityManagerFactory("persistanceUnitName");
持久性类来自javaee-web-abi-7.0.jar
。
persistence.xml中的一切看起来都不错。
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="persistanceUnitName"
transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>dataSource</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.target-database" value="Oracle" />
<property name="eclipselink.logging.parameters" value="true" />
<property name="eclipselink.logging.logger" value="DefaultLogger" />
<property name="eclipselink.logging.level" value="WARNING" />
<property name="eclipselink.refresh" value="true" />
<property name="eclipselink.query-results-cache" value="false" />
<!-- <property name="eclipselink.ddl-generation" value="create-or-extend-tables" />-->
</properties>
</persistence-unit>
</persistence>
位于/ WEB-INF / classes / META-INF中的persistance.xml
[我们有这样的情况:我们有一个测试和准备环境。在测试中,它起作用,在准备中不起作用,在本地中不起作用(从WebLogic控制台)。不幸的是,我看不到测试服务器的配置。但是我希望准备时能有同样的选择。无论如何,请忘记其他环境,首先,我需要从本地成功部署。
请您帮我,我真的不知道我想念什么。阅读每个主题,尝试一切]
看起来像是类路径问题。检查您的weblogic类路径。如果使用eclipselink,则在部署时必须首先加载库。
检查this。
将eclipselink添加到范围为[[提供的项目中:]
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.5.0</version>
<scope>provided<scope>
</dependency>
将相同的依赖项添加到您的weblogic类路径中:
$WEBLOGIC_HOME/user_projects/domains/base_domain/lib
然后,在下面添加到您的weblogic.xml中以使用eclipselink库。
<wls:container-descriptor> <wls:prefer-application-packages> <wls:package-name>org.eclipse.persistence.*</wls:package-name> </wls:prefer-application-packages> </wls:container-descriptor>