Maven и Eclipse: надежный способ добавить не-Maven или внешние банки в проект?
Maven это здорово. Это в основном удерживает меня от ада зависимости jar, определяя версии зависимых пакетов вpom
конфигурации, и применяет их автоматически. Он также имеет отличную интеграцию с Eclipse через m2e, так что все работает без проблем в IDE.
Все это отлично подходит для зависимостей, которые известны всему миру Maven. Однако иногда есть библиотеки, которые необходимо включить в проект, который недоступен в репозиториях Maven. В этом случае я обычно добавляю их вlib/
каталог в моем проекте. Пока они находятся в пути к классам, все компилируется.
Однако проблема заключается в том, что они автоматически включаются при импорте проекта. Я слишком долго терпел эту проблему с недоделанными исправлениями и взломами. Каждый раз, когда кто-то устанавливает этот проект, я должен сказать им, чтобы вручную добавить банки вlib/
к их пути сборки Eclipse, так что все ошибки исчезнут. Что-то вроде следующего:
Я ищу способ автоматизировать этот процесс таким образом, чтобы работать как сmvn
программа командной строки и Eclipse: больше внимания уделяется Eclipse, потому что хорошо иметь проекты, которые просто компилируются при их импорте.
Я не хочу настраивать сервер репо для этого, и при этом у меня нет собственных фирменных компонентов, которые гарантировали бы настройку чего-либо локально. У меня просто есть несколько jar-файлов, где разработчики не используют Maven; и я хочу скомпилировать их ... я должен просто иметь возможность включать их в дистрибутив моего программного обеспечения, верно?
Я действительно ищу разумный способ реализовать это, который также будет работать в Eclipse без суеты.Это одно решение Я нашел многообещающим, но, похоже, не существует авторитетного решения этой проблемы. Единственное, что приближается, этоMaven-addjars-плагин, который работает хорошо, но только в командной строке. Этот плагин не плохой, и имеет довольно разумную конфигурацию:
<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<goals>
<goal>add-jars</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.basedir}/lib/java-aws-mturk</directory>
</resource>
<resource>
<directory>${project.basedir}/lib/not-in-maven</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Однако попытка запустить его в Eclipse включает добавление следующего беспорядка о сопоставлении жизненного цикла в вашpom.xml
который я никогда не получал на работу; Я даже не думаю, что он настроен на добавление чего-либо к пути сборки Eclipse.
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
com.googlecode.addjars-maven-plugin
</groupId>
<artifactId>
addjars-maven-plugin
</artifactId>
<versionRange>
[1.0.5,)
</versionRange>
<goals>
<goal>add-jars</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>