Как сказать Maven включить зависимость JAR, а не исходный каталог подпроекта в Eclipse?
Я использую Apache Maven для управления моими библиотеками Java (jar) и некоторыми проектами, которые используют библиотеки. Для удобства пользуюсьmvn eclipse:eclipse
чтобы генерироватьEclipse project files которые можно импортировать в рабочую область Eclipse для редактирования.
Проблемы возникают, когда я редактирую основной проект и проекты Java lib в одном и том же рабочем пространстве Eclipse. То есть,mvn eclipse:eclipse
включает в себяsrc path зависимость в.classpath
файл, а неjar
зависимость, как и ожидалось.
Скажем, у меня есть проект Jave lib с именемmylib
, Соответствующий файл jarmylib.jar
был развернут в частном репозитории Maven, поддерживаемом мной. Чтобы использовать mylib.jar в основном проекте, вpom.xml
.
<!-- pom.xml for the main project -->
<dependency>
<groupId>namespace.my</groupId>
<artifactId>mylib</artifactId>
<version>[1.0, )</version>
</dependency>
mvn compile
а такжеmvn test
идеальная работа, в которойmylib.jar
автоматически загружается из моего репо. Однако при попыткеmvn eclipse:eclipse
Я нахожу сгенерированный.classpath
файл не включаетmylib.jar
зависимость, как и ожидалось. Вместо этого он включает в себя каталог исходных файлов для mylib следующим образом.
<!-- .classpath file generated by mvn eclipse:eclipse -->
<classpathentry kind="src" path="/mylib"/>
Кажется, что Maven читает метаданные Eclipse и находит, что mylib и основной проект находятся в одной рабочей области. Поэтому Maven включает источник моего блага. Черт. Как я могу сказать maven игнорировать локальный исходный код проекта и просто включить файл jar?