Встраиваемый контейнер Arquillian в Wildfly 15
Я работаю над миграцией wildfly с версии 8 до 15. В настоящее время в версии 8, config:arquillian.xml
<?xml version="1.0"?>
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://jboss.org/schema/arquillian"
xsi:schemaLocation="http://jboss.org/schema/arquillian
http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<defaultProtocol type="Servlet 3.0"/>
<container qualifier="jboss" default="true">
<configuration>
<property name="managementAddress">localhost</property>
<property name="managementPort">${jboss.socket.binding.management-http.port:10090}</property>
</configuration>
<protocol type="Servlet 3.0">
<property name="host">localhost</property>
</protocol>
</container>
</arquillian>
строить-deps.gradle
provided ("org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec:1.0.1.Final")
provided ("org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec:1.0.0.Final")
provided ("org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:1.0.0.Final")
provided ("javax.enterprise:cdi-api:1.0")
provided ("io.undertow:undertow-servlet:1.1.0.Final")
testCompile ("org.jboss.arquillian:arquillian-bom:1.1.5.Final")
testCompile ("org.jboss.arquillian:arquillian-build:1.1.14.Final")
testCompile ("org.jboss.arquillian.junit:arquillian-junit-container:1.1.14.Final")
testCompile ("org.wildfly:wildfly-arquillian-container-embedded:8.2.0.Final") {
exclude group: 'org.osgi', module: 'org.osgi.core'
}
testCompile ("org.wildfly:wildfly-embedded:8.2.0.Final")
testCompile ("org.eu.ingwar.tools:arquillian-suite-extension:1.1.2")
Он хорошо работает со встроенным контейнером конфигурации. Поэтому, когда я обновляюсь до wildfly 15, config:build-deps.gradle
provided ("javax.persistence:javax.persistence-api:2.2")
provided ("org.jboss.spec.javax.ejb:jboss-ejb-api_3.2_spec:1.0.1.Final")
provided ("org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:1.0.1.Final")
provided ("org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.2_spec:1.0.1.Final")
provided ("javax.enterprise:cdi-api:1.0")
provided ("io.undertow:undertow-servlet:2.0.15.Final"){
exclude group: 'org.jboss.xnio', module: 'xnio-api'
exclude group: 'org.jboss.xnio', module: 'xnio-nio'
}
provided("org.jboss.xnio:xnio-api:3.5.1.Final")
provided("org.jboss.xnio:xnio-nio:3.5.1.Final")
testCompile ("org.wildfly.arquillian:wildfly-arquillian-container-embedded:2.1.1.Final")
testCompile ("org.wildfly.core:wildfly-embedded:7.0.0.Final")
// support for wildfly 15: to avoid conflict logging
testCompile ("org.jboss.logging:jboss-logging:3.3.2.Final")
Таким образом, с новой версией зависимости, я получил отсутствующие / недоступные зависимости.
Connected to the target VM, address: '127.0.0.1:47421', transport: 'socket'
2019-08-02 16:53:23.382******************** createDeployment ***********************
Test WAR file created successfully at it as '/home/monexio-server/monexio-server-fileserviceimpl/build/monexio-server-fileserviceimpl-arquillian1564739603382.war', now letting Arquillian deploy 'monexio-server-fileserviceimpl-arquillian1564739603382.war: 107 assets'
2019-08-02 16:53:23.382******************** end createDeployment *******************
Test ignored.
org.jboss.arquillian.container.spi.client.container.DeploymentException: Cannot deploy monexio-server-fileserviceimpl-arquillian1564739603382.war: {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-1" => {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"monexio-server-fileserviceimpl-arquillian1564739603382.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"monexio-server-fileserviceimpl-arquillian1564739603382.war\"
Caused by: java.util.ServiceConfigurationError: javax.servlet.ServletContainerInitializer: Provider io.undertow.servlet.sse.ServerSentEventSCI not found"},"WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.unit.\"monexio-server-fileserviceimpl-arquillian1564739603382.war\".WeldStartService","jboss.deployment.unit.\"monexio-server-fileserviceimpl-arquillian1564739603382.war\".beanmanager"],"WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"monexio-server-fileserviceimpl-arquillian1564739603382.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"monexio-server-fileserviceimpl-arquillian1564739603382.war\".beanmanager]","jboss.deployment.unit.\"monexio-server-fileserviceimpl-arquillian1564739603382.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"monexio-server-fileserviceimpl-arquillian1564739603382.war\".WeldStartService, jboss.deployment.unit.\"monexio-server-fileserviceimpl-arquillian1564739603382.war\".beanmanager]"]}}}
at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:184)
at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:162)
at org.jboss.as.arquillian.container.ArchiveDeployer.deploy(ArchiveDeployer.java:91)
at org.jboss.as.arquillian.container.CommonDeployableContainer.deploy(CommonDeployableContainer.java:244)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:151)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:118)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:239)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:103)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:90)
at org.jboss.arquillian.container.impl.client.container.DeploymentExceptionHandler.verifyExpectedExceptionDuringDeploy(DeploymentExceptionHandler.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createDeploymentContext(ContainerDeploymentContextHandler.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:62)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:92)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:77)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachDeployment(ContainerDeployController.java:232)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachManagedDeployment(ContainerDeployController.java:212)
at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deployManaged(ContainerDeployController.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:103)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:90)
at org.eu.ingwar.tools.arquillian.extension.suite.SuiteDeployer.blockDeployManagedDeploymentsWhenNeeded(SuiteDeployer.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:62)
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:103)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:90)
at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:69)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:86)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:95)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:171)
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:376)
at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:54)
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:185)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:140)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Disconnected from the target VM, address: '127.0.0.1:47421', transport: 'socket'
Process finished with exit code 255
Таким образом, версия undertow совпадает с версией wildfly 15. Поэтому я не уверен, как решить это дело. Пожалуйста помоги.
Любое решение может быть оценено.