如何在maven项目中添加jnetpcap作为依赖?

时间:2016-07-18 17:14:04

标签: java maven dependencies jnetpcap maven-nar-plugin

我创建了使用jnetpcap的应用。它应该是多平台的,并在32和64平台上运行。我从未使用过maven befor,那么如何将所有版本的jnetpcap添加到项目中?

我找到了一个使用nar https://github.com/sugree/jnetpcap的解决方案,但我并不了解如何正确使用它。

我应该复制项目的结构并在那里编译jnetpcap吗?如果这是nar,而不是依赖,如何将它添加到项目中,那么我可以在java类中使用jnetpcap吗?

PS我也尝试使用conf从这里添加jnetpcap作为依赖: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 =&#34; org.sample.Main&#34;它崩溃了错误:&#34; java.library.path中没有jnetpcap&#34;。

1 个答案:

答案 0 :(得分:1)

您的POM文件是正确的,但jnetpcap对本机库具有运行时依赖性,这就是您在尝试运行应用程序时收到错误的原因。为了解决这个问题,您必须在启动期间指定包含本机库的目录。

例如,在Windows上,这看起来像这样:

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

您还可以将此目录包含为环境变量 - 有关详细信息,请参阅jnetpcap FAQ