Ответ 1
Я очень рекомендую maven-nar-plugin. Я нахожу, что он во многом превосходит альтернативы. Он не требует перечисления исходных файлов, обрабатывает несколько ОС и архитектур, обрабатывает единичные и интеграционные тесты и обычно следует "путь maven". В нем представлен новый вид упаковки - NAR или "собственный архив", содержащий артефакт, который вам интересен (DLL,.so,.a,.exe и т.д.), Но также метаданные, заголовки и т.д. В способ, который имеет смысл.
Это требует немного предварительной работы для упаковки стороннего программного обеспечения в NAR, но это довольно просто. Как только они являются NAR, вы просто используете нормальный механизм зависимости Maven для связи с ними, например:
<dependency>
<groupId>cppunit</groupId>
<artifactId>cppunit</artifactId>
<scope>test</scope>
</dependency>
Один из недостатков заключается в том, что он, похоже, не поддерживается активно, но является полнофункциональным и является довольно впечатляющим примером создания плагина Maven.