我试图在我的Wildfly 11服务器上部署我的应用程序,但我遇到以下问题.
无法上传部署:{"WFLYCTL0080:Failed services"=> {"jboss.deployment.unit.\"javaee-angularjs.war \".WeldStartService"=>"无法启动服务引起:java.lang.IllegalArgumentException:WFLYWELD0037 :错误将持久性单元注入CDI托管bean.在部署javaee-angularjs.war中找不到名为'siscorp'的持久性单元,用于注入点私有javax.persistence.EntityManager br.com.rafaelvicio.siscorp.util.Persistence.entityManager "}}
这是我的持久性类:
package br.com.rafaelvicio.siscorp.util;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@ApplicationScoped
public class Persistence {
@PersistenceContext(unitName="siscorp")
private EntityManager entityManager;
@Produces
public EntityManager getEntityManager() {
return entityManager;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="siscorp">
<!-- provedor/implementacao do JPA -->
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<!-- entidade mapeada -->
<class>br.com.rafaelvicio.siscorp.model.CEP</class>
<properties>
<!-- dados da conexao -->
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/siscorp" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="admin123" />
<!-- propriedades do hibernate -->
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<!-- atualiza o banco, gera as tabelas se for preciso -->
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
您收到此错误是因为该persistence.xml文件未内置到WAR文件中.
这是因为您已将其放在src/main/java目录中,它是一个Maven项目.
除非你故意配置它(不推荐),否则Maven只处理.java源文件而不处理src/main/java其他内容.
您必须将META-INF目录及其内容从中移动src/main/java到src/main/resources.
感谢@Henrique提出正确的问题
| 归档时间: |
|
| 查看次数: |
950 次 |
| 最近记录: |