首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pcap4J Error:java.lang.ClassNotFoundException:尝试运行代码以列出可用接口时的org.pcap4j.util.NifSelector

Pcap4J Error:java.lang.ClassNotFoundException:尝试运行代码以列出可用接口时的org.pcap4j.util.NifSelector
EN

Stack Overflow用户
提问于 2019-09-14 01:50:17
回答 1查看 447关注 0票数 1

我目前正在尝试通过Maven运行一个Java代码来制作一个数据包嗅探工具。目前,我正在运行一个简单的代码来使用NifSelector选择所有当前可用的网络接口,但我在线程"main“java.lang.NoClassDefFoundError中遇到以下错误->异常: org/pcap4j/util/NifSelector。很明显,这表明没有找到这个类,但我在文档或其他文档中找不到任何东西,因此对此错误进行了纠正。我有pcap4j的jar文件,并将其作为依赖项添加到我的pom.xml中。我还在我的windows机器上安装了npcap (这个安装是在windows上运行的)。

代码语言:javascript
复制
import org.pcap4j.util.NifSelector;

public class App 
{
    public static void main( String[] args )
{
    PcapNetworkInterface device = null;
    try{
        device = new NifSelector().selectNetworkInterface();
    }catch(IOException e){
        e.printStackTrace();
    }
    System.out.println( "Your choice: " + device);
}
}

上面是我尝试使用NifSelector类所需的导入语句运行的代码。https://github.com/kaitoy/pcap4j是指向该项目文档的链接。文档中使用的所有示例都与NifSelector没有任何问题。任何帮助都将不胜感激!

编辑:添加了pom.xml代码段

代码语言:javascript
复制
<dependency>
        <groupId>org.pcap4j</groupId>
        <artifactId>pcap4j-core</artifactId>
        <version>1.8.2</version>
        <type>jar</type>
    </dependency>

    <dependency>
        <groupId>org.pcap4j</groupId>
        <artifactId>pcap4j-packetfactory-static</artifactId>
        <version>1.8.2</version>
    </dependency>

着色器插件的Pom.xml代码段

代码语言:javascript
复制
<!-- Embed dependencies inside the final JAR -->
                    <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-shade-plugin</artifactId>
                            <version>3.1.0</version>
                            <executions>
                                    <execution>
                                            <phase>package</phase>
                                            <goals>
                                                    <goal>shade</goal>
                                            </goals>
                                    </execution>
                            </executions>
                            <configuration>
                                    <finalName>new-$1.0-SNAPSHOT</finalName>
                            </configuration>
                    </plugin>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-16 14:41:10

您可能没有在最终的JAR中包含所有依赖项。如guide you mention中所述,仔细检查maven-shade-plugin是否正确执行。

代码语言:javascript
复制
<build>
   <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <finalName>uber-${project.artifactId}-${project.version}</finalName>
            </configuration>
        </plugin>
    </plugins>
</build>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57928273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档