2015-01-23 3 views
0

내 간단한 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_PATHjava.library.path을 조정하고, 그렇지 않으면 당신은 확실히 UnsatisfiedLinkError을 받게됩니다 JVM 32 비트를 사용하는지 확인해야합니다.

재미있게 보내세요!

+0

제목에 "해결 된"질문을 표시하지 마십시오. – IronMan84

답변

0

오류는 "당신은 dll/so가 필요합니다"와 정확하게 같습니다.

여기 찾고 시도해보십시오 NetUtils java library - how to make it work?

당신은 어딘가에 당신의 컴퓨터에서 .DLL을 발견 할 것이다, 당신의 윈도우 디렉토리를 검색 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. netutils.dll과 netutils.jar를 모두 jre \ bin, jre \ lib, jdk \ bin 및 jdk \ lib 폴더에 추가하고 시스템 경로를 조정했지만 여전히 동일한 오류가 표시됩니다. –

+0

@PeteRadzik 당신은 java.library.path를 확인해 보았습니까? – maslan

+0

또는이 매개 변수를 사용하여 실행 해보십시오. -Djava.library.path = maslan

관련 문제