Скомпилируйте код JNI с Maven (конечный результат - JAR и DLL) - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть проект Java вместе с некоторым собственным кодом, который вызывается через JNI.До того, как я начал интеграцию моего проекта с Maven, он отлично работал через Eclipse, нативный код был скомпилирован в dll, и программа работала нормально.Теперь, когда я интегрирую Maven, мне интересно, кто-нибудь имел успех в этом отделе?

Я нашел бесчисленные сообщения о встроенной интеграции с Maven во время поиска в Google (многие на этом сайте), но ни один из них не кажется мне полезным, потому что мне нужно скомпилировать JAR из одной исходной папки и DLL из другойв то время как все сообщения, которые я видел, кажется, полностью переписывают POM и используют сторонние библиотеки для компиляции нативного кода, но полностью устраняют аспект Java.

Я нашел эту библиотекуэто позволило бы Maven компилировать нативный код, но его раздел «использование» не очень удобен для пользователей, начинающих с maven.

Макет моего проекта:

enter image description here

Мой автоматически сгенерированный POM выглядит следующим образом:

xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>Adventum</groupId>
  <artifactId>Adventum</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Adventum</name>
  <build>
    <sourceDirectory>src/main</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Должен ли я добавить дополнительный <build> ... </build> раздел на POM и настроить родную сторону там?Даже гуглив, я обнаружил, что это вызывает недовольство.Я нашел информацию о агрегации во время поиска в Google, но не ясно, куда я должен помещать каждое отдельное POM и как я должен связывать их.

Вместо того, чтобы просить кого-то тратить свое время на размышлениярешения для меня, я надеюсь, что некоторые пользователи уже нашли решение этой проблемы?(Включение JNI в проект Maven не может быть таким неслыханным ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...