为了账号安全,请及时绑定邮箱和手机立即绑定

Pcap4J 错误:java.lang.ClassNotFoundException:

Pcap4J 错误:java.lang.ClassNotFoundException:

慕尼黑5688855 2023-07-28 10:13:01
我目前正在尝试通过 Maven 运行 Java 代码来制作数据包嗅探工具。目前,我正在运行一个简单的代码来使用 NifSelector 选择所有当前可用的网络接口,但我遇到了以下错误 -> 线程“main”java.lang.NoClassDefFoundError 中的异常:org/pcap4j/util/NifSelector。显然,这表明没有找到该类,但我在文档或 SO 中找不到任何对此错误进行纠正的内容。我有 pcap4j 的 jar 文件,并将其作为依赖项添加到我的 pom.xml 中。我还在我的 Windows 机器上安装了 npcap(此设置在 Windows 上运行)。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 片段<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 片段<!-- 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>
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

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

<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>


查看完整回答
反对 回复 2023-07-28
  • 1 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信