내 간단한 Java 응용 프로그램에서 Netutil 클래스를 사용하여 모든 네트워크 인터페이스를 표시하고 있습니다. 프로그램 코드는 그 다음과 예외적 인 결과입니다. 나는 절대 beginer에 오전과 당신의 도움이 날 :)Java에서 Netutils - 예외가 발생합니다.
package packet_experience;
import edu.huji.cs.netutils.NetUtilsException;
import edu.huji.cs.netutils.capture.*;
import java.io.IOException;
/**
*
* @author Pete
*/
public class Packet_Experience {
/**
* @param args the command line arguments
* @throws edu.huji.cs.netutils.NetUtilsException
* @throws java.io.IOException
*/
public static void main(String[] args) throws NetUtilsException, IOException {
JPCapInterface intArr[] = JPCap.getAllIntefacesNames();
for (JPCapInterface next : intArr)
{
System.out.println(next.toString());
}
}
실행에 대해 큰 시간을 절약 할 수 있습니다 : (! 솔루션)
Exception in thread "main" java.lang.UnsatisfiedLinkError: edu.huji.cs.netutils.capture.impl.JPCapWraper.get_all_devices(Z)Ljava/lang/String;
at edu.huji.cs.netutils.capture.impl.JPCapWraper.get_all_devices(Native Method)
at edu.huji.cs.netutils.capture.impl.JPCapWraper.getAllInterfaces(JPCapWraper.java:299)
at edu.huji.cs.netutils.capture.JPCap.getAllIntefacesNames(JPCap.java:346)
at packet_experience.Packet_Experience.main(Packet_Experience.java:29)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
업데이트 :
내 CPU는 코어 i5 및 승 7 필요하다 홈 이전 64 비트. JVM 32 및 64 비트를 시도한 후 시스템 경로 및 java.library.path을 변경하고 모든 jar, dll, lib, ... 파일도 복사했습니다. 또한 나는이 페이지에서받은 추천을 수행했으며 나는 다른 곳에서 읽었다. (내가 이해할 수있는 한 :)).
끝 부분에서 나는 비슷한 성능을 가진 jnetpcap으로 만났고 나는 대신 완벽하게 작동하도록 권장했다. jnetpcap Homepage에서 찾을 수 있습니다. 같은 Netutils당신이 System_PATH 및 java.library.path을 조정하고, 그렇지 않으면 당신은 확실히 UnsatisfiedLinkError
을 받게됩니다 JVM 32 비트를 사용하는지 확인해야합니다.
재미있게 보내세요!
제목에 "해결 된"질문을 표시하지 마십시오. – IronMan84