Maven deploy + исходные классификаторы - PullRequest
4 голосов
/ 14 декабря 2011

Я пытаюсь развернуть артефакт Maven с помощью классификатора.Поскольку мне нужны и источники, и JAR (я использую его из GWT), я хотел бы получить artifact-version-classifier.jar и artifact-version-classifier-sources.jar.Тем не менее, он отлично работает с скомпилированным JAR, но не работает с исходными кодами (у JAR для выходных источников неправильное имя).

Это конфигурация, которую я имею до сих пор:

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <classifier>prod</classifier>
    </configuration>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <finalName>${project.build.finalName}-prod</finalName>
    </configuration>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <configuration>
        <classifier>prod</classifier>
    </configuration>
</plugin>

И это вывод, который я получаю для mvn deploy:

Uploading: http://juicebox:8080/archiva/repository/snapshots//ar/com/nubing/afip-connector/1.0-SNAPSHOT/afip-connector-1.0-SNAPSHOT-prod.jar
237K uploaded  (afip-connector-1.0-SNAPSHOT-prod.jar)

Но этоу одного неправильное имя:

Uploading: http://juicebox:8080/archiva/repository/snapshots//ar/com/nubing/afip-connector/1.0-SNAPSHOT/afip-connector-1.0-SNAPSHOT-sources.jar
228K uploaded  (afip-connector-1.0-SNAPSHOT-sources.jar)

Ответы [ 3 ]

7 голосов
/ 14 декабря 2011

К сожалению, добавление исходного JAR с произвольным классификатором не поддерживается исходным плагином.Когда исходный артефакт присоединен , классификатор жестко закодирован (начиная с версии 2.1.2 исходного плагина).

Вы можете обойти проблему, получивисходный плагин для создания JAR, но не присоединения, и присоедините его с помощью вспомогательного модуля сборки присоединить артефакт цель.

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>attach-source-jar</id>
            <phase>package</phase>
            <goals>
                <goal>attach-artifact</goal>
            </goals>
            <configuration>
                <artifacts>
                    <artifact>
                        <file>${project.build.directory}/${project.build.finalName}-prod-sources.jar</file>
                        <type>jar</type>
                        <classifier>prod-sources</classifier>
                    </artifact>
                </artifacts>
            </configuration>
        </execution>
    </executions>
</plugin>
4 голосов
/ 12 июля 2013

Использовал тот же обходной путь, что и prungeНо это больше не нужно.Это сообщение об ошибке , которое было исправлено в версии 2.2 в июне 2012 года: просто установите свойство <classifier>.Протестировано с 2.2.1.

0 голосов
/ 15 августа 2018

Немного больше обновленного ответа, используя источники и javadoc

<maven.javadoc.version>3.0.1</maven.javadoc.version>
<maven.source.version>3.0.1</maven.source.version>


<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>${maven.source.version}</version>
    <configuration>
        <classifier>jre10-sources</classifier>
    </configuration>
</plugin>



 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>${maven.javadoc.version}</version>
    <configuration>
        <classifier>jre10-javadoc</classifier>
    </configuration>
</plugin>
...