У меня есть проект, который развертывает только один pom.xml
в Maven Central.Он предназначен для использования в качестве родительского POM.Поэтому упаковка имеет вид pom
.
. Моя проблема возникает из-за следующего перекрытия:
Информация, которая должна быть развернута, то есть содержимое артефакта,полностью содержится внутри pom.xml
.
Дополнительная информация, необходимая Maven для правильного развертывания, также внутри pom.xml
.
Как следствие, конфигурация развертывания развертывается вместе с моим родительским POM.Каждый проект, который использует мой родительский POM также по умолчанию, будет развертываться в Maven Central при выполнении mvn release
.Это нежелательный побочный эффект перекрытия, описанного выше.
Я хочу развернуть родительский POM без информации о развертывании внутри.Как я могу это сделать?
(я сильно подозреваю, что могу каким-то образом отделить POM, который должен быть развернут от POM, который выполняет развертывание, но я не могу понять, как.)
Упомянутая выше «информация о развертывании» состоит из:
- Подключаемых модулей (
/project/build/plugins/...
): org.apache.maven.plugins:maven-gpg-plugin
org.apache.maven.plugins:maven-source-plugin
org.sonatype.plugins:nexus-staging-maven-plugin
- Информация управления распределением Maven (
/project/distributionManagement
)
Обратите также внимание, что есть другие настроенные подключаемые модули, которые я на самом деле хотите развернуть как часть развернутого POM.
Здесь - это ссылка на pom.xml
в конкретной версии, к которой относится мой вопрос.
Это расшифровка приведенного выше файла со всем, что я на самом деле хочу развернуть , заменив на <!-- ... -->
.Таким образом, он содержит только те части pom.xml
, которые я не хочу включать в развернутый артефакт:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!-- ... -->
<build>
<plugins>
<!-- ... -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${version.plugin.gpg}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${version.plugin.source}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ... -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>${version.plugin.nexus-staging}</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
<!-- ... -->
</build>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
</project>