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

java maven dependencies jnetpcap maven-nar-plugin

1911 просмотра

1 ответ

28 Репутация автора

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

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

Должен ли я скопировать структуру проекта и скомпилировать там jnetpcap? Если это Nar, а не зависимость, как добавить его в проект, чтобы я мог использовать 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".

Автор: Troir1 Источник Размещён: 18.07.2016 05:14

Ответы (1)


1 плюс

846 Репутация автора

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

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

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

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

Автор: Ben Damer Размещён: 01.08.2016 05:23
Вопросы из категории :
32x32