如何使用 Maven 将 ZIP 文件上传到 Nexus 并避免在 Nexus 中创建 pom 工件?

How to upload ZIP file to Nexus using Maven and avoid creating pom artifact in Nexus?

在我的项目中,我将几个文件打包成 ZIP 文件并将其上传到 Nexus 存储库。

我使用 Maven 程序集插件实现了这两个操作:

POM.XML

<groupId>com.ddd.tools</groupId>
<artifactId>mytool</artifactId>
<version>2.1.0</version>
<packaging>pom</packaging>

<name>Tool</name>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <!-- File bin.xml saves information about which files are to be included to the ZIP archive. -->
                <descriptor>bin.xml</descriptor>
                <finalName>${pom.artifactId}-${pom.version}</finalName>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

BIN.XML

<assembly ...>
    <id>bin</id>
    <formats>
        <format>zip</format>
    </formats>
    <fileSets>
        <fileSet>
            <directory>src/release</directory>
            <outputDirectory>/</outputDirectory>
            <includes>
                <include>Tool.exe</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>

现在,当我查看 Nexus 时,我看到了两个工件:

    <dependency>
      <groupId>com.ddd.tools</groupId>
      <artifactId>mytool</artifactId>
      <version>2.1.0</version>
      <type>pom</type>
    </dependency>

<dependency>
  <groupId>com.ddd.tools</groupId>
  <artifactId>mytool</artifactId>
  <version>2.1.0</version>
  <classifier>bin</classifier>
  <type>zip</type>
</dependency>

我只对后一个ZIP神器感兴趣,因为它是我上传的ZIP文件

如何摆脱 Nexus 的第一个 POM 工件?或者在什么情况下我可能需要它?

我相信使用 raw repos in Nexus 3. AFAIK, the pom is required for an actual artifact upload, per khmarbaise

可以实现您想做的事情