Я пытаюсь развернуть проект Apache Isis на сервере WildFly.Развертывание Apache Isis на WildFly
Проект только simpleapp-архетип-1.10.0 и он начинает и хорошо работает с МВНАМИ antrun: запустить -P собственного хозяина и МВНОВ причала: бежать войны.
Для молы части, я добавил конфигурацию в org.eclipse.jetty плагин родительского pom.xml
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.2.v20150730</version>
<configuration>
<war>${project.basedir}/webapp/target/simpleapp.war</war>
</configuration>
</plugin>
Теперь я хотел развернуть это на WildFly сервере, но я получаю следующее сообщение об ошибке :
Cannot upload deployment: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"simpleapp.war\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"simpleapp.war\".WeldStartService: Failed to start service Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type IsisJdoSupport with qualifiers @Default at injection point [BackedAnnotatedField] @Inject org.apache.isis.objectstore.jdo.datanucleus.service.support.TimestampService.isisJdoSupport at org.apache.isis.objectstore.jdo.datanucleus.service.support.TimestampService.isisJdoSupport(TimestampService.java:0) "}}
Как исправить эту ошибку, и почему jetty обходит эту ошибку?
CDI/Weld можно использовать на Jetty, но в настоящее время только в том случае, если он включен в 'WEB-INF/lib' вашей войны (у вас также будет определенная конфигурация WebAppContext для настройки на распределение причала, чтобы позволить Weld пройти через WebApp Classloader изоляция) –
Да. В моем ответе в списках рассылки Apache Isis я подразумевал, что Jetty не будет пытаться сканировать компоненты CDI по умолчанию. Если вы добавите Weld и настройте его, он будет работать. Примеры Apache Wicket показывают, как это сделать. –