【问题标题】:Artifact Name not matching the maven repo URL path工件名称与 Maven 存储库 URL 路径不匹配
【发布时间】:2014-03-20 13:27:26
【问题描述】:

下面网址下的工件名是不是错了?

http://repo1.maven.org/maven2/org/powermock/powermock-mockito-release-full/1.5.1/

根据上面的 URL,工件的名称应该是 powermock-mockito-release-full-1.5.1.jar 但我看到的是 powermock-mockito-release-full-1.5.1*-完整*.jar。额外的 –full 正在破坏我的 Maven 构建(无法找到资源)。下面是我的依赖声明,以及我应该声明的 POM 依赖项与下面的依赖项有何不同。

<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-mockito-release-full</artifactId>
    <version>1.5.1</version>
    <scope>test</scope>
</dependency>

我错过了什么吗?

谢谢

【问题讨论】:

    标签: maven


    【解决方案1】:

    this repository 中的最后一个full 是另一个dependency coordinate called classifier

    尝试添加分类器,您应该下载依赖项:

    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-mockito-release-full</artifactId>
        <version>1.5.1</version>
        <classifier>full</classifier>
        <scope>test</scope>
    </dependency>
    

    我建议避免使用classifier,因为它们的值不是标准的,因此它们的含义和使用它们的方式并不总是那么清楚。

    【讨论】:

      【解决方案2】:

      查看 mockito 站点,您应该像这样包含依赖项:

      http://code.google.com/p/powermock/wiki/Mockito_maven

      <properties>
          <powermock.version>1.5.4</powermock.version>
      </properties>
      <dependencies>
         <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-junit4</artifactId>
            <version>${powermock.version}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito</artifactId>
            <version>${powermock.version}</version>
            <scope>test</scope>
         </dependency>
      </dependencies>
      

      【讨论】:

      • +1 用于指定这样的依赖项,而不是使用名称中带有“-full”或“-all”的 jar。这些 jars 通常将他们使用的一些库(如 Hamcrest)打包在依赖解析过程无法获取的 jar 中。然后,如果您出于某种原因需要使用另一个版本的 Hamcrest,您可能会遇到类路径问题。 Another Stackoverflow post 举个例子。
      猜你喜欢
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      • 2018-05-15
      • 2012-11-20
      • 2013-11-01
      • 2012-02-28
      • 2019-05-07
      • 1970-01-01
      相关资源
      最近更新 更多