когда я пытаюсь развернуть свой проект на своем JBoss EAP 7.1 Я получаю эту ошибку (трассировка стека?):
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 я делаю это так:
Это работает нормально, но вывод на консоль остается неизменным.
У вас была такая проблема раньше? Спасибо за помощь.
Редактировать 08.11.18
Я добавил снимок экрана с моей структурой папок, чтобы люди могли видеть расположение моих файлов persistence.xml и beans.xml.

Изменить 10.11.18 Мой beans.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"/>
это правильно?
Спасибо за ваш ответ. В наши дни я не получаю много ответов :( Я добавил снимок экрана с моей структурой каталогов. Теперь файлы persistence.xml и beans.xml должны быть в нужном месте. Консоль все еще жалуется на ту же проблему. Обычно после Я внес изменения в свой проект, который сохраняю, устанавливаю проект и обновляю его. Я не понимаю, почему DeploymentUnitProcessingException все еще существует, даже после вашей помощи :( Тем не менее, я очень признателен за вашу помощь.
Каково содержимое вашего файла beans.xml? Структура каталогов выглядит нормально, но вы можете посмотреть созданный архив, чтобы убедиться, что там находится beans.xml.
Вы проверили архив, присутствуют ли файлы persistence.xml и beans.xml в нужной папке в архиве? Что находится внутри beans.xml?
Я вижу beans.xml и persistence.xml в системном обозревателе (это то же самое, что и архив?) И в проводнике проекта IDE.




Вы можете начать с помещения persistence.xml в / WEB-INF / classes / + META-INF / persistence.xml для первой проблемы, если это еще не сделано. Для второй проблемы попробуйте переместить файл beans.xml в WEB-INF /, который должен помочь jboss найти то, что он ищет.