Maven:上传和下载zip文件到nexus存储库

时间:2017-01-05 02:27:53

标签: maven nexus

我已经使用pom将zip文件上传到本地nexus存储库。它似乎已正确上传。然后我尝试使用以下方法在另一个项目中下载它:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.foo</groupId>

  <artifactId>projectusingofficestuff</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-dependency</id>
            <phase>compile</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>com.foo</groupId>
                  <artifactId>officestuff</artifactId>
                  <type>zip</type>
                  <version>1.0.0-RELEASE</version>
                  <overWrite>true</overWrite>
                  <outputDirectory>target/unpacked</outputDirectory>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

当我尝试下载时,我得到:

[DEBUG]   (s) remoteRepos = [       id: nexus
      url: http://repository/nexus/repository/maven-public
   layout: default
snapshots: [enabled => false, update => daily]
 releases: [enabled => true, update => daily]
]
[DEBUG]   (f) silent = false
[DEBUG] -- end configuration --
[INFO] Configured Artifact: com.foo:officestuff:1.0.0-RELEASE:zip
[DEBUG] Using connector WagonRepositoryConnector with priority 0 for http://repository/nexus/repository/maven-public as mike
Downloading: http://repository/nexus/repository/maven-public/com/foo/officestuff/1.0.0-RELEASE/officestuff-1.0.0-RELEASE.zip
[DEBUG] Writing resolution tracking file /home/mike/.m2/repository/com/foo/officestuff/1.0.0-RELEASE/officestuff-1.0.0-RELEASE.zip.lastUpdated
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.763s
[INFO] Finished at: Wed Jan 04 16:13:20 EST 2017
[INFO] Final Memory: 20M/962M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.1:unpack (copy-dependency) on project projectusingofficestuff: Unable to find artifact. Could not find artifact com.foo:officestuff:zip:1.0.0-RELEASE in nexus (http://repository/nexus/repository/maven-public)

如果我使用以下方法直接搜索存储库: http://repository/nexus/repository/maven-public/com/foo/officestuff/1.0.0-RELEASE/officestuff-1.0.0-RELEASE.zip?describe

它找到工件并返回看起来正确的响应。知道为什么maven构建会找不到它吗?

1 个答案:

答案 0 :(得分:0)

感谢您的帮助;我似乎有工作。我在另一个我原来没看到的stackoverflow问题中找到了答案的线索

Maven - Depend on assembled zip

在上传时,程序集文件名(在我的情况下为bin.xml)被附加到工件名称。要获取下载以找到工件,我需要添加<classifier>bin</classifier> 到工件的依赖块。