Как добавить jnetpcap в качестве зависимости в проект maven?

Я создал приложение, использующее jnetpcap. Он должен быть мультиплатформенным и работать на 32 и 64 платформах. Я никогда раньше не работал с maven, так как же добавить в проект все версии jnetpcap?

Я нашел решение, в котором используется nar https://github.com/sugree/jnetpcap, но я не не понимаю, как им правильно пользоваться.

Должен ли я скопировать структуру проекта и скомпилировать туда jnetpcap? Если это нар, а не зависимость, как добавить его в проект, чтобы я мог использовать jnetpcap в классах java?

PS Также я попытался добавить jnetpcap в качестве зависимости, используя conf отсюда: https://www.versioneye.com/clojure/jnetpcap:jnetpcap/1.4.r1425-1d

Я добавил эти строки в свой pom.xml:

  <repositories>
<repository>
  <id>clojars</id>
  <url>http://clojars.org/repo/</url>
</repository>

<dependency>
<groupId>jnetpcap</groupId>
<artifactId>jnetpcap</artifactId>
<version>1.4.r1425-1d</version>

Он компилируется без ошибок, но когда я пытаюсь выполнить проект с помощью команды: exec:java -Dexec.mainClass="org.sample.Main", он вылетает с ошибкой: "нет jnetpcap в java.library.path".


person Troir1    schedule 18.07.2016    source источник


Ответы (1)


Ваш файл POM правильный, но jnetpcap имеет зависимость времени выполнения от собственной библиотеки, поэтому вы получаете сообщение об ошибке при попытке запустить приложение. Чтобы решить эту проблему, вам нужно будет указать каталог, который содержит собственную библиотеку во время запуска.

Например, в Windows это будет выглядеть примерно так:

java -Dexec.mainClass="org.sample.Main" -Djava.library.path=C:\jnetpcap-1.4.r1425

Вы также можете включить этот каталог в качестве переменной среды — см. часто задаваемые вопросы о jnetpcap для получения дополнительной информации об этом.

person Ben Damer    schedule 01.08.2016
comment
Это не работает в моем случае. Можете ли вы предложить мне stackoverflow.com/questions/45220894/ - person ketan; 21.07.2017
comment
Я добавил ответ с более подробной информацией о вашем конкретном случае использования. - person Ben Damer; 24.07.2017