Я использую Arquillian для тестирования некоторых частей моего кода.Чтобы запускать определенные тесты с использованием материализованных представлений, я не могу полагаться на H2, поэтому мне нужно изменить его на настоящую базу данных Oracle.
Для этого я создал небольшой контейнер Docker под управлением Oracle Database 11g XE, добавив пользователя«дб».Затем я добавил oracle-ds.xml , который я также добавил в свое развертывание Arquillian.Но он не может обнаружить драйвер оракула:
Причина: java.lang.Exception: {"WFLYCTL0412: Обязательные службы, которые не установлены:" => ["jboss.jdbc-driver.oracle "]," WFLYCTL0180: Службы с отсутствующими / недоступными зависимостями "=> [" jboss.data-source. \ "jboss.naming.context.java.jboss.datasources.OracleTestDs \" отсутствует [jboss.jdbc-driver.oracle] "]}
На своей локальной машине я добавил ее вручную, но она не будет работать в управляемой Аркиллианом Wildfly - или, по крайней мере, я не знаю как.
Я пытался добавить его напрямую, но он также не работает:
PomEquippedResolveStage pomFile = Maven.resolver().loadPomFromFile("pom.xml");
WebArchive archive = ShrinkWrap.create(WebArchive.class)
.addAsLibraries(pomFile.resolve("org.assertj:assertj-core").withTransitivity().asFile())
.addAsLibraries(pomFile.resolve("com.oracle:ojdbc6").withTransitivity().asFile())
// add many classes....
.addAsResource("test-persistence.xml", "META-INF/persistence.xml")
.addAsResource("import.sql")
.addAsResource("log4j2.xml")
.addAsManifestResource("oracle-ds.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
Это просто добавляет драйвер оракула в файл war, но мой код опирается на драйвер вКонтейнер Wildfly.Есть ли способ развернуть его на Wildfly через Arquillian?