如何通过 Maven 将 zip 文件部署到 Nexus 存储库

How to deploy zip file to Nexus repository via Maven

我有一个要部署到 Nexus 存储库的 zip 文件。所以我创建了一个 pom.xml 文件和一个 settings.xml 文件来执行此操作。我能够成功上传到 nexus,但它似乎被部署为一个 jar 文件

当我放入 <packaging>zip</packaging> 元素时,maven 无法识别它。如何实现将 zip 文件部署到 nexus 的目标?任何帮助将不胜感激。

目录内容: 1. content.zip 2.pom文件 3.设置文件

pom.xml:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.company.ct.ty16.archive</groupId>
    <artifactId>contentzip</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Deploy-zip-file</name>
    <description>Deploy zipped content file on Jenkins to Nexus</description>
    ...
    ...
    ...
    </project>

注意:我没有使用 maven 构建 content.zip 文件,只是上传它

我认为你可以使用 mvn 部署文件 - https://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html

在 settings.xml

中定义您的服务器
<servers>
  ...
  <server>
    <id>server-snapshots</id>
    <username>server-snapshots-username</username>
    <password>server-snapshots-password</password>
  </server>
  ...
</servers>

deploy 阶段定义部署文件配置

<plugin>
  <artifactId>maven-deploy-plugin</artifactId>
  <executions>
    <execution>
      <id>deploy-file</id>
      <phase>deploy</phase>
      <goals>
        <goal>deploy-file</goal>
      </goals>
      <configuration>
        <file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
        <repositoryId>${project.distributionManagement.snapshotRepository.id}</repositoryId>
        <url>${project.distributionManagement.snapshotRepository.url}</url>
        <groupId>${project.groupId}</groupId>
        <artifactId>${project.artifactId}</artifactId>
        <version>${project.version}</version>
        <packaging>zip</packaging>
      </configuration>
    </execution>
  </executions>
</plugin>

定义快照存储库

<distributionManagement>
  <snapshotRepository>
    <id>server-snapshots</id>
    <name>Snapshots repository (snapshots)</name>
    <url>http://repository.com/repo/server-snapshots</url>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </snapshotRepository>
</distributionManagement>

执行mvn deploy