无法传输工件 - 未经授权

时间:2014-02-11 12:49:55

标签: maven repository authorization

我想从以下存储库中使用工件“eu.excitementproject:lap:jar:1.1.0:”:

http://hlt-services4.fbk.eu:8080/artifactory/repo/eu/excitementproject

我可以直接从上面的链接下载jar而无需任何授权。

但是,当我在计算机上安装mvn时,出现以下错误:

Could not transfer artifact eu.excitementproject:lap:pom:1.1.0 from/to excitement 
(http://hlt-services4.fbk.eu:8080/artifactory/repo/eu/excitementproject): 
Not authorized

以下是我的pom.xml的相关部分:

  <repositories>
    <repository>
      <id>excitement</id>
      <name>excitement</name>
      <url>http://hlt-services4.fbk.eu:8080/artifactory/repo/eu/excitementproject</url>
    </repository>
  </repositories>

  <dependencies>
        <dependency>
            <groupId>eu.excitementproject</groupId>
            <artifactId>lap</artifactId>
            <version>1.1.0</version>
        </dependency>
  </dependencies>

我该怎么办?

2 个答案:

答案 0 :(得分:4)

您的Maven配置是:

  1. 存储库网址 - http://hlt-services4.fbk.eu:8080/artifactory/repo/eu/excitementproject
  2. group-id - eu.excitementproject
  3. artifact-id - lap
  4. artifact-version - 1.1.1
  5. 因此,工件的完整路径为http://hlt-services4.fbk.eu:8080/artifactory/repo/eu/excitementproject/eu.excitementproject/lap/1.1.1/lap-1.1.1.pom

    如果我从任何网络浏览器点击this URL,我会被要求使用基本的HTTP身份验证进行身份验证。这正是Maven所看到的。因此,正如上面提到的@Will,如果您希望继续使用此存储库URL,则必须在本地settings.xml中为存储库配置身份验证设置。

    有趣的是,我可以毫无问题地点击http://hlt-services4.fbk.eu:8080/artifactory/repo/eu.excitementproject/lap/1.1.1/lap-1.1.1.pom。因此,如果您将存储库URL缩短为http://hlt-services4.fbk.eu:8080/artifactory/repo,您的构建将起作用(我已对此进行了测试)。

答案 1 :(得分:2)

您可以使用基本网址身份验证(https://developer.mozilla.org/en-US/docs/Web/HTTP/Basic_access_authentication)为您的工具提供凭据。 在您的案例存储库中,网址应为: http://USERNAME:PASSWORD@hlt-services4.fbk.eu:8080/artifactory/repo/eu/excitementproject