首页 文章

可以't find a persistence unit named ' siscorp'部署javaee-angularjs.war

提问于
浏览
0

我试图在我的Wildfly 11服务器上部署我的应用程序,但我遇到以下问题 .

无法上传部署:{“WFLYCTL0080:失败的服务”=> {“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;
      }

}

这是我的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>

1 回答

  • 2

    您收到此错误,因为 persistence.xml 文件未内置到WAR文件中 .

    这是因为您已将其放在 src/main/java 目录中,它是一个Maven项目 .

    除非你故意配置它(不推荐),否则Maven只处理 src/main/java 中的 .java 源文件而不是其他任何内容 .

    您必须将 META-INF 目录及其内容从 src/main/java 移动到 src/main/resources .

    感谢@Henrique提出正确的问题

相关问题