Arquillian和Wildfly:无法收集/解决依赖关系

时间:2018-09-11 08:57:29

标签: java maven containers wildfly jboss-arquillian

我正在尝试使用Arquillian框架编写一个简单的Widlfly容器测试。我遵循了Wildfly container testing guide中的指南。

生成的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来自我公司的内部存储库,但是我们为它配置了Maven的settings.xml,并且在其他所有情况下通常都可以使用。

对此将提供任何帮助。

1 个答案:

答案 0 :(得分:0)

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