как добавить внешнюю библиотеку (jar) + источники (zip) в pom.xml с помощью maven-install-plugin?

Я нашел в Интернете хорошую статью, в которой показано, как добавить библиотеку jar в мой проект maven (eclipse), используя «maven-install-plugin». я использовал это и сумел добавить библиотеку ucanaccess 3.0.1 в мой проект maven.

однако исходный код представляет собой отдельный zip-файл, и я не нашел в Интернете достаточной информации о том, как добавить этот исходный файл «таким же образом», используя «maven-install-plugin». Я нашел некоторую информацию о том, что плагин «каким-то образом» поддерживает определение источников, но я не смог найти, ГДЕ и КАК это правильно (примеры не найдены).

Может ли кто-нибудь дать мне совет, как будет выглядеть правильная конфигурация «maven-install-plugin» в pom.xml, включая ФАЙЛ ИСТОЧНИКА?

Это часть моего pom.xml относительно внешней библиотеки ucanaccess 3:

                <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <executions>
                    <execution>
                        <id>install-external</id>
                        <phase>clean</phase>
                        <configuration>
                            <file>${basedir}/externalLibs/UCanAccess-3.0.1-bin/ucanaccess-3.0.1.jar</file>
                            <repositoryLayout>default</repositoryLayout>
                            <groupId>net.ucanaccess</groupId>
                            <artifactId>ucanaccess</artifactId>
                            <version>3.0.1</version>
                            <packaging>jar</packaging>
                            <generatePom>true</generatePom>
                        </configuration>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Благодарность


person Axel Werner    schedule 23.09.2015    source источник


Ответы (2)


На этой неделе я добавил UCanAccess в центральный репозиторий maven (это мой первый раз). Есть ли смысл пересобирать его из исходных файлов? Если нет, вам не нужно обходное решение, но вы можете включить его в свой pom как любую другую зависимость. Идентификатор группы — net.sf.ucanaccess, идентификатор артефакта — ucanaccess. Я старый итальянец, поэтому любой отзыв об этом будет очень ценен (возможно, у моей семилетней дочери не было бы таких проблем с maven).

person jamadei    schedule 23.09.2015
comment
+1, потому что я старый итальянец, поэтому любой отзыв об этом будет очень ценен (возможно, у моей семилетней дочери не было бы таких проблем с maven) - person Sean Patrick Floyd; 23.09.2015
comment
Спасибо. Было время. Сейчас я использую центральную версию репозитория maven, поэтому она работает и также предоставляет исходный код. - но на вопрос еще нет ответа. Я предполагаю, что должен быть способ каким-то образом добавить исходный код zip или jar в плагин установки maven. - person Axel Werner; 24.09.2015
comment
Спасибо, Аксель, за отзыв, потому что я не знаю ответа, но все равно хотел быть полезным. Спрошу у дочери, когда она вернется из школы ;-) - person jamadei; 24.09.2015

Используйте собственный репозиторий на основе файловой системы, например:

<repositories>
  <repository>
  <id>local</id>
    <layout>default</layout>
    <url>file:///${project.basedir}/localrepo</url>
  </repository>
</repositories>

Таким образом, Maven будет искать файлы в локальном репо и копировать их в ~/.m2/repository.

никаких дополнительных плагинов не требуется. Вам просто нужно поместить файлы в правильные папки, например localrepo/com/mypackage/something/library-1.0.jar

person jdevelop    schedule 23.09.2015