Arquillian and Wildfly: невозможно собрать / разрешить зависимость - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь написать простой тест контейнера Widlfly с использованием фреймворка Arquillian. Я следовал руководству из Руководства по тестированию контейнеров Wildfly .

Полученный файл pom.xml выглядит следующим образом.

pom.xml

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>bom-all</artifactId>
            <version>${version.wildfly-swarm}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <!-- https://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.1-api -->
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.1-api</artifactId>
        <version>1.0.2.Final</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.mycompany.libs</groupId>
        <artifactId>3ds-commons</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>8.0</version>
        <scope>provided</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.mysema.querydsl/querydsl-apt -->
    <dependency>
        <groupId>com.mysema.querydsl</groupId>
        <artifactId>querydsl-apt</artifactId>
        <version>3.7.4</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.mysema.querydsl/querydsl-jpa -->
    <dependency>
        <groupId>com.mysema.querydsl</groupId>
        <artifactId>querydsl-jpa</artifactId>
        <version>3.7.4</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>jaxrs</artifactId>
        <version>${version.wildfly-swarm}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>datasources</artifactId>
        <version>${version.wildfly-swarm}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>arquillian-adapter</artifactId>
        <version>${version.wildfly-swarm}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>1.4.0.Final</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>arquillian</artifactId>
        <version>${version.wildfly-swarm}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.core</groupId>
        <artifactId>arquillian-core-api</artifactId>
        <version>1.4.0.Final</version>
        <scope>test</scope>
    </dependency>
</dependencies>

Я следовал руководству и написал тест JUnit следующим образом.

InContainerTest.java

@RunWith(Arquillian.class)
@DefaultDeployment(type = DefaultDeployment.Type.JAR)
public class InContainerTest {

    @ArquillianResource
    InitialContext context;

    @Test
    public void testDataSourceIsBound() throws Exception {
        DataSource ds = (DataSource) context.lookup("java:jboss/datasources/MyDS");
        assertNotNull(ds);
    }
}

Всякий раз, когда я пытаюсь запустить mvn clean install для этого кода, я получаю следующую ошибку:

org.jboss.arquillian.container.spi.client.container.DeploymentException: Невозможно собрать / разрешить дерево зависимостей для разрешения из-за: Не удалось собрать зависимости на my.company.libs: my-commons: jar: 0.0 .1-SNAPSHOT, вызвано: Сервер вернул код ответа HTTP: 409 для URL: http://repo.gradle.org/gradle/libs-releases-local/com/mycompany/libs/my-commons/0.0.1-SNAPSHOT/my-commons-0.0.1-SNAPSHOT.pom

Пакет my-commons поступает из внутреннего репозитория моей компании, но для него настроен settings.xml Maven, и он обычно работает во всех других случаях.

Любая помощь по этому вопросу будет принята с благодарностью.

1 Ответ

0 голосов
/ 11 сентября 2018

Пожалуйста, проверьте, содержит ли "my-commons" моментальные снимки или только выпускает артефакты. проверьте, есть ли другие репозитории для моментальных снимков, и соответственно измените свою конфигурацию maven. Смотрите здесь для справки, как это сделать: https://maven.apache.org/settings.html#Repositories

...