Программирование с помощью Java jpcap в Eclipse Indigo IDE на платформе Windows 7

Я программирую на Java и новичок в jpcap. Я установил Jpcap для Microsoft Windows. Мой компьютер работает на платформе Windows 7. У меня Eclipse Indigo IDE. Когда я создал новый Java-проект с помощью Eclipse Indigo IDE, я создал класс с основным методом и скопировал и вставил код из учебника по jpcap.

package PacketCapturing;

import jpcap.*;
import jpcap.packet.*;

public class NetworkInterfaceList {

public static void main(String args[]){
    //Obtain the list of network interfaces
    NetworkInterface[] devices = JpcapCaptor.getDeviceList();

    //for each network interface
    for (int i = 0; i < devices.length; i++) {
      //print out its name and description
      System.out.println(i+": "+devices[i].name + "(" + devices[i].description+")");

      //print out its datalink name and description
      System.out.println(" datalink: "+devices[i].datalink_name + "(" + devices[i].datalink_description+")");

      //print out its MAC address
      System.out.print(" MAC address:");
      for (byte b : devices[i].mac_address)
        System.out.print(Integer.toHexString(b&0xff) + ":");
      System.out.println();

      //print out its IP address, subnet mask and broadcast address
      for (NetworkInterfaceAddress a : devices[i].addresses)
        System.out.println(" address:"+a.address + " " + a.subnet + " "+ a.broadcast);
    }
}

В редакторе кода Java для Eclipse Indigo IDE я увидел красные линии, отмеченные для класса NetworkInterface, устройства NetworkInterface, объектов и переменных их атрибутов.

Когда я навел курсор на красные маркеры, я увидел это сообщение об ошибке, в котором говорится:

Access restriction: The type NetworkInterface is not accessible due to restriction on required library C:\Windows\Sun\Java\lib\ext\jpcap.jar 

Когда я запускал программу Java, не возникало ошибки компиляции, и консоль Java могла правильно отображать вывод. Почему это так?? Есть ли способ удалить красные маркеры в редакторе Java всякий раз, когда я вызываю библиотеку jpcap в Eclipse Indigo IDE? Это потому, что я не установил winpcap для Windows?


person user1284808    schedule 12.04.2012    source источник


Ответы (2)


Я столкнулся с точно такой же проблемой, и мне потребовалось некоторое время, чтобы найти решение. Надеюсь это поможет.

  1. Вы должны признать, что Jpcap является 32-разрядным, и вы, скорее всего, используете 64-разрядную версию Eclipse в Windows 7. Для этого убедитесь, что вы используете 32-разрядную версию Eclipse.

  2. Перейдите в раздел загрузки Jpcap и поместите файлы jpcap-0.6.zip и JPcapSetup-0.6.exe в папку. Разархивируйте и выполните их.

  3. Скопируйте файл Jpcap.dll в папку C:\Windows\System32.

  4. Запустите Eclipse, создайте новый проект, создайте новый пакет, создайте новый класс, напишите свой код.

  5. Щелкните правой кнопкой мыши имя проекта --> Путь сборки --> Настроить путь сборки... --> Путь сборки Java --> Добавить внешние JAR-файлы...

  6. Добавьте файл jpcap.jar.

  7. Запустите вашу программу.

person tn3rt    schedule 06.09.2012

Попробуйте из NetBeans и попробуйте импортировать библиотеку вручную, если вам нужно ее установить. jpcap.jar

person Javier Garcia    schedule 02.09.2012