【问题标题】:Arquillian and Wildfly: Unable to collect/resolve dependencyArquillian 和 Wildfly:无法收集/解决依赖关系
【发布时间】:2018-09-11 08:57:28
【问题描述】:

我正在尝试使用 Arquillian 框架编写一个简单的 Widfly 容器测试。我已按照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: 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 来自我公司的内部存储库,但我们为它配置了 Maven 的 settings.xml,它在所有其他情况下正常工作。

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

【问题讨论】:

  • 看起来my.company.libs:my-commons:jar:0.0.1-SNAPSHOT 不在您的存储库中。

标签: java maven containers wildfly jboss-arquillian


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-02-16
    • 2017-02-20
    • 2018-05-25
    • 2020-07-01
    • 2019-09-14
    相关资源
    最近更新 更多