首页 > 解决方案 > Arquillian 和 Wildfly:无法收集/解决依赖关系

问题描述

我正在尝试使用 Arquillian 框架编写一个简单的 Widfly 容器测试。我已按照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: Unable to collect/resolve dependency tree for a resolution 由于:无法在 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,它通常适用于所有其他情况。

对此的任何帮助将不胜感激。

标签: javamavencontainerswildflyjboss-arquillian

解决方案


请检查“my-commons”是否实际包含快照或仅发布工件。检查是否还有其他一些快照存储库并相应地调整您的 Maven 配置。请参阅此处以获取如何执行此操作的参考:https ://maven.apache.org/settings.html#Repositories


推荐阅读