В настоящее время у меня есть несколько настраиваемых плагинов maven, которые используют те же библиотеки (JAR), что и мое приложение, которое его использует. Уместно упомянуть, что библиотеки также являются специализированными библиотеками, разработанными нами, а не сторонними. Я хочу отпустить эти библиотеки и интегрировать их непосредственно в исходный код приложения - у меня есть одна проблема - что мне делать с плагинами maven, которые их используют. Есть ли способ использовать исходный код приложения (после интеграции библиотек) при компиляции/запуске плагинов maven?Пользовательские плагины и библиотеки Maven
ответ
Лично я бы не пошел по этому пути из-за зависимости ад и т. Д., Но если вам действительно нужно, вы можете создать банку, содержащую исходные файлы (см. https://maven.apache.org/plugin-developers/cookbook/attach-source-javadoc-artifacts.html), а затем в проекте вам нужно будет распаковать его как источник это https://maven.apache.org/plugins/maven-dependency-plugin/examples/using-dependencies-sources.html.
ps: В чем причина отказа от библиотек и вместо этого использовать исходный код?
А как насчет разных плагинов maven, которые используют одни и те же библиотеки? – Abby
Вы можете выполнить трюк, как описано выше. Вы копируете банку в плагин maven, извлекаете его в исходный каталог в целевом объекте и включаете его в исходный путь компилятора. Чем вы можете продолжить нормальный процесс сборки. – uniknow
Я понимаю. Но это будет означать, что я дублирую исходный код библиотек как в исходном коде приложения, так и в моем исходном коде плагинов (библиотеки, которые используются обоими из них). Это может звучать как глупый вопрос, но есть ли способ избежать этого? Эти плагины maven используются только для этого приложения. В принципе, я просто хочу сделать это приложение как можно более автономным. – Abby
- 1. Maven, плагины и JIRA
- 2. Maven и Eclipse, плагины
- 3. Плагины в Maven и POM.xml
- 4. Maven Плагины: components.xml и lifecycles.xml
- 5. плагины и библиотеки общих объектов
- 6. CKEditor Пользовательские плагины Кнопка
- 7. Пользовательские плагины в Resharper
- 8. Плагины Groovy Maven
- 9. Полезные Maven плагины
- 10. Загрузить все плагины Maven
- 11. плагины grails maven repo
- 12. CSV импорт - библиотеки, плагины?
- 13. maven плагины цели
- 14. Maven и общие библиотеки
- 15. Maven и родные библиотеки
- 16. maven 2 плагины (меньше и руля)
- 17. Maven default жизненный цикл и плагины раздел
- 18. Как загрузить плагины maven извне?
- 19. Intellij Maven Projects - отсутствующие плагины
- 20. Плагины Maven - как получить лицензию
- 21. Расширьте плагины для maven jvmargs
- 22. maven плагины хранятся там, где
- 23. Java: сбор Maven и библиотеки
- 24. Пользовательские плагины Log4j2, не работающие в EAR
- 25. В больших приложениях JS, где я помещаю пользовательские методы в библиотеки и плагины
- 26. Добавьте определенные плагины и конфигурацию при использовании Birt с Maven
- 27. .Net Пользовательские библиотеки?
- 28. Ссылка на пользовательские библиотеки
- 29. Maven фильтрации - пользовательские шаблоны
- 30. Play Framework 2.4.1: Как перенести пользовательские плагины
Вы хотите иметь один и тот же мультипроект: 1. код библиотеки 2. код плагина с использованием кода библиотеки 3. выполнение плагина? – michaldo
Да. Это может показаться странным, но сохранение всех этих артефактов отдельно для одного приложения становится кошмаром - восстановление всего, поддержание версий и т. Д. - все это просто для того, чтобы поддерживать одно приложение, которое само по себе не слишком сложно. Я просто хочу, чтобы один проект поддерживался - вот и вся идея. – Abby
Очистить. У меня такая же проблема в моем проекте. Моя концепция - это код библиотеки обтекания в 'java.util.function.Consumer' и создать общий плагин, который находит конкретный' Consumer' 'java.util.ServiceLoader' и запускает его. Но мне понадобится день или два, чтобы обеспечить регулярный ответ здесь. – michaldo