В моем проекте у меня есть несколько файлов, которые я упаковываю в ZIP-файл и загружаю в репозиторий Nexus.Как загрузить ZIP-файл в Nexus с помощью Maven и избежать создания артефакта pom в 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-файл я загружен.
Как я могу избавиться от первого артефакта POM от Nexus? Или есть сценарий, в котором я мог бы нуждаться в этом?
Сначала конфигурация finalName в вашем pom бесполезна для загрузки в Nexus. И вы не можете предотвратить артефакт pom, потому что это необходимо. И да, все времена, когда вы используете такую зависимость, артефакт pom используется для определения артефакта. Вы вставили фрагменты только для использования в качестве зависимости, но им нужен артефакт pom, который необходим для анализа того, что это за артефакт, и если он имеет другие зависимости .. (не в этом случае). – khmarbaise