нужна конфигурация плагина maven для создания совокупного источника jar

Я боролся с этим некоторое время и читал много страниц документов и другие вопросы, но все еще не могу заставить его работать.

В моем проекте ORMLite есть проект ormlite-core с основными функциями, а затем проекты -jdbc и -android (с более запланировано). Каждый из этих подпроектов включает основные функции, но добавляет реализации для каждой архитектуры. Я хочу выпустить один набор jar-файлов для версий -jdbc и -android, т. е. я хочу скопировать -core javadocs и исходники в полученные jar-файлы.

Для javadocs это был торт с записью конфигурации includeDependencySources, установленной в true. Тем не менее, я некоторое время боролся за то, как заставить исходные файлы jar, выпущенные пакетом -android, включать источники -core. Я пробовал maven-dependency-plugin копировать и распаковывать источники зависимостей в target/sources, но я не вижу простого способа включить их в исходный файл jar - с соответствующими путями. Я просмотрел документы maven-source-plugin и maven-assembly-plugin, но я все еще в неведении.

Если кто-то разобрался с волшебным мавен-фу, чтобы сделать это, не могли бы они поделиться соответствующими рабочими pom.xml примерами? Большое спасибо.

Среди прочих я рассмотрел следующие похожие вопросы. Я также просмотрел руководство по Sonatype Maven. и прочитайте кучу веб-страниц с похожими вопросами.




Ответы (2)


Хотя это и не ответ на вопрос, возможная причина, по которой такой параметр, как <includeDependencySources>, отсутствует для maven source plugin, заключается в том, что, хотя javadocs могут быть созданы из jar, содержащего классы, источники не могут быть. Плагин не может предполагать, что ему доступны источники зависимостей, так как они не устанавливаются по умолчанию.

person Raghuram    schedule 27.01.2011
comment
Я почти уверен, что javadocs генерируется из источника, а не из файлов классов. Если у вас нет javadocs для конкретного jar, вы получите имена классов и методов, но даже не имена переменных аргументов и, конечно же, никакой документации по классам или методам. - person Gray; 27.01.2011
comment
Я, конечно, согласен с тем, что он не может собрать исходный файл jar из источников, к которым у него нет доступа, но я думаю, что должен, если может. - person Gray; 27.01.2011

Я думаю, что лучший ответ на этот вопрос в настоящее время: «Вы не можете добраться туда отсюда». Для этого требуются расширения файла maven-source-plugin.

В итоге я решил, что объединение этих подпроектов в один и тот же jar было не хорошей идеей, и теперь я выпускаю 3 отдельных jar.

person Gray    schedule 23.08.2011