2015-10-21 3 views
0

У меня есть сторонняя банка с исходными файлами, которые я добавил в свое местное репо. Теперь я хочу извлечь его, скомпилировать с его зависимостями и, наконец, упаковать в новую банку.Maven extract jar, компилировать новые с зависимостями

Я завершил первый шаг, используя maven-dependency-plugin. Он извлекает банку из репо в target/sources.

Как установить фазу компилятора для включения этого каталога во время компиляции? Я бы предположил, что сначала он будет генерировать ошибки, так как он имеет другие зависимости не в pom.xml.

Я столкнулся с сборкой-плагином, но я не уверен, заменит ли это компилятор-плагин?

+0

Похоже, вы хотите связать приложение со всеми его зависимыми файлами банок в одной банке. Это верно? Если так, проверьте плагин сборки Maven специально для сборки: единственная цель. На самом деле это не фазовые операции компиляции, а фазовые операции упаковки. – JJF

+0

Да, в основном, но странная часть заключается в том, что я думаю, что я должен скомпилировать сторонний источник. Потому что у меня проблема с разрешением символа в моей среде IDE (IntelliJ). См. Этот вопрос http://stackoverflow.com/questions/33232710/intellij-cannot-resolve-symbol-3rd-party-jar-with-maven – Rabiees

+1

Вам не нужно будет компилировать сторонний источник, если вам не нужно изменять источник или у вас нет двоичных файлов для библиотеки. В любом случае путь Maven должен был бы создать сторонний источник в артефакте, используя собственный pom.xml. Затем включите этот артефакт в зависимость от ваших основных проектов pom. У вашего источника нет бизнеса, находящегося в подкаталоге под целевым именем. – JJF

ответ

0

Вопрос: Почему бы не получить скомпилированную версию (банку, содержащую скомпилированный Java-код (*.class файлов)) библиотеки сторонних разработчиков.

Вопрос: Является третьим лицом, исходный код доступен из svn/git/etc?

Q: ли исходная баночка или SVN/GIT Д содержать pom.xml файл Maven или Ant build.xml или Gradle build.gradle? Затем используйте это, чтобы скомпилировать код.

О Maven плагинов

+0

Я хотел бы иметь исходный файл для целей отладки. Доступны как скомпилированные банки, так и вложенные банки. Ни один из них не содержит файл сборки, например Maven или Ant. – Rabiees

+0

Обычно вам не нужно ничего делать с исходной банкой. При использовании Eclipse или IntelliJ, создайте свой проект, добавьте скомпилированные банки, а при использовании Maven или Gradle для настройки вашего собственного проекта будут автоматически импортироваться зависимости как скомпилированные, так и исходные банки. Изначально исходные банки полезны для отладки. – Verhagen

+0

Смотрите мой комментарий выше. Вставка снова здесь: странная часть заключается в том, что я думаю, что я тоже должен собрать источник третьей стороны. Потому что у меня проблема с разрешением символа в моей среде IDE (IntelliJ). См. Этот вопрос http://stackoverflow.com/questions/33232710/intellij-cannot-resolve-symbol-3rd-party-jar-with-maven – Rabiees

Смежные вопросы