DeploymentUnitProcessingException - PullRequest
       84

DeploymentUnitProcessingException

0 голосов
/ 06 ноября 2018

при попытке развернуть мой проект на моем JBoss EAP 7.1 Я получаю эту ошибку (stacktrace?):

16:13:07,986 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 1) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "test.war")]) - failure description: {
    "WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"test.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"test.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEE0041: Component class rest.RestResource for component RestResource has errors: 
WFLYJPA0033: Can't find a persistence unit named primary in deployment \"test.war\""},
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.unit.\"test.war\".beanmanager"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.deployment.unit.\"test.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"test.war\".beanmanager]",
        "jboss.deployment.unit.\"test.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"test.war\".beanmanager]"

Итак, у меня есть исключение DeploymentUnitProcessingException. Консоль говорит, что постоянный модуль с именем primary не найден. Но я думаю, что это ложь, потому что в моем RestResource.java имя модуля первична.

package rest;

import javax.ejb.Stateful;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.ws.rs.POST;
import javax.ws.rs.Path;

@Path("/pair")
@Stateful
public class RestResource {
    @PersistenceContext(unitName = "primary")
    private EntityManager em;


    @POST
    public Pair writePair(Pair p) {
        em.persist(p);
        return p;
    }
}

Следующее утверждение консоли заключается в том, что у меня не установлен beanmanager. Я искал его, и это должно быть проблемой, только если у меня нет файла beans.xml. Но у меня есть файл src / META-INF / beans.xml, и его можно создать в мастере IDE (Red Hat Developer Studio). Кроме того, я читаю файл beans.xml, как правило, больше не требуется.

Еще одна вещь, которую я нашел, была https://github.com/javaee-samples/javaee7-samples/issues/371

Здесь они предлагают перестроить проект с помощью команды

mvn clean install -Pwildfly-managed

В моей IDE я делаю это так:

executing the maven command

Это прекрасно работает, но вывод консоли остается неизменным.

Была ли у вас эта проблема раньше? Спасибо за вашу помощь.

Редактировать 08.11.18 Я добавил скриншот структуры моей папки, чтобы люди могли видеть расположение моих persistence.xml и beans.xml enter image description here

Редактировать 10.11.18 Мои бобы.xml

<?xml version="1.0"?>
<beans bean-discovery-mode="annotated" version="2.0"
 xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd"/>

это правильно?

...