maven-nar-plugin vs native-maven-plugin, что лучше? - PullRequest
4 голосов
/ 08 июля 2011

Я собираюсь создать проект Java, который использует JNI.Я хочу развернуть проект как отдельное приложение, но некоторые модули могут также использоваться в качестве библиотек других приложений.Я хочу поддерживать разные платформы, и все должно быть максимально безболезненно.

Насколько я вижу, у меня есть выбор между плагином maven-nar-plugin, который не обновлялся полторагод, и плагин native-maven, который мне кажется менее удобным для пользователя.

Есть ли у вас какой-либо опыт с одним из них или рекомендациями, которые я должен использовать?

Ответы [ 3 ]

4 голосов
/ 17 июля 2011

Я использовал плагин maven-nar-plugin только для автономных приложений на C / C ++, но для этого он работал очень хорошо.

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

Мы просто передаем ему команды и параметры компилятора и компоновщика, местоположение источника и расположение файла javah, и это работает. Я должен сказать, что со всей болью, которую мы пережили с JNI, плагин maven - это одна из немногих вещей, которая не доставляла особых хлопот.

1 голос
/ 02 марта 2014

С одного года я использовал много плагинов native-maven для кросс-компиляции исходного кода на C и C ++ (с профилем для каждой опции платформы, такой как компилятор, опции компилятора, опции компоновщика и т. Д ...).Это работает как шарм, но я чувствую себя довольно одиноким в моей ситуации.Теперь я не понимаю, почему разработчик C / C ++ все еще использует инструменты make или cmake из другой эпохи.Maven лучше подходит для управления версиями и зависимостями ...

1 голос
/ 14 сентября 2012

Третий слайд в этой презентации о плагине NAR Марка Донзельманна из Стэнфордского центра линейных ускорителей сравнивает родной-maven-plugin и maven-nar-plugin.Цитируя слайд 3, плюсы и минусы нативного плагина maven:

Плюсы

  • Очень настраиваемый

Минусы

  • Не работает из коробки (по умолчанию)
  • Нет бинарных зависимостей
  • Не кроссплатформенный (разные профили для разных платформ)
...