Я использовал плагин maven-nar-plugin только для автономных приложений на C / C ++, но для этого он работал очень хорошо.
Что касается JNI, я уже несколько лет использую плагин native-maven в большом приложении. Мы используем его, чтобы наши Java-приложения могли взаимодействовать с другими приложениями, которые предлагают только API C. Я на самом деле нашел это довольно удобным. Документация довольно хороша и объясняет основное использование, но вам все равно придется иметь дело с компилятором C и компоновщиком и любыми опциями, которые требуются для сборки.
Мы просто передаем ему команды и параметры компилятора и компоновщика, местоположение источника и расположение файла javah, и это работает. Я должен сказать, что со всей болью, которую мы пережили с JNI, плагин maven - это одна из немногих вещей, которая не доставляла особых хлопот.