maven-install-plugin: Могу ли я определить пользовательский тип упаковки, но установить артефакт в качестве jar в репо? - PullRequest
3 голосов
/ 07 марта 2011

Я пытаюсь предложить плагин для обнаружения и обработки клиентов приложений Java EE.

Я создал новый тип упаковки, называемый 'car', через META-INF / plexus / components.xml (http://maven -car-plugin.googlecode.com / svn / trunk / maven-car-plugin / src / main / resources / META-INF / plexus / components.xml ) и соответствующий mojo для приложения Java EEклиентов.Я в значительной степени выполнил те же действия, что и плагин maven-ejb.

Мне нужно то же поведение, что и плагину maven-ejb: определяет тип упаковки ejb, но артефакт устанавливается в репозиторий.как .jar и попадает в ухо как .jar тоже.

Я считаю, что должен быть конфигурируем как-то, потому что тип упаковки ejb устанавливается как .jar, а тип упаковки war создает .war.

Проблема в моем случае заключается в том, что файл .car устанавливается в репо, а файл .car - в ухо.

Кто-нибудь знает, как убедиться, что он установлен в репозитории как.jar файл?

Ответы [ 3 ]

2 голосов
/ 12 апреля 2011

Я столкнулся с той же проблемой, что и у вас, за исключением того, что я собираю файл .war и хотел установить файл .jar в мое локальное хранилище. Я использовал maven-jar-plugin для создания файла jar в дополнение к файлу war, он создается в моей директории / target. Я также использовал maven-install-plugin для установки выведенного файла jar в локальный репозиторий.

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
            <execution>
                <id>make-jar</id>
                <phase>compile</phase>
                <goals>
                        <goal>jar</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <executions>
            <execution>
                <id>install-jar</id>
                <phase>install</phase>
                <goals>
                    <goal>install-file</goal>
                </goals>
                <configuration>
                    <packaging>jar</packaging>
                    <artifactId>${project.artifactId}</artifactId>
                    <groupId>${project.groupId}</groupId>
                    <version>${project.version}</version>
                    <file>${project.build.directory}/${project.artifactId}.jar</file>
                </configuration>
            </execution>
        </executions>
    </plugin>
0 голосов
/ 14 мая 2013

Я бы предположил, что вам придется указать также

<packaging>jar</packaging>

в дескрипторе компонента.В противном случае это выглядит правильно для меня ..

0 голосов
/ 07 марта 2011

Возможно, вы можете попробовать использовать параметр packaging в плагине maven install , чтобы посмотреть, поможет ли это в вашем случае?

...