2016-09-27 16 views
0

안녕하세요, 모든 Java 전문가! ACM Library 간단한 예제가 jdk와 작동하지 않습니다. 1.7.0_79

나는 성공적으로 컴파일

import acm.program.*; 

class prog extends ConsoleProgram { 


    public void run() { 

     int number = readInt("?"); 

     println("You entered: " number);  

     } 

} 

ACM 도서관의 작은 예를했을 때. 다음과 같이 명령 줄을 사용했습니다.

javac -cp acm.jar; main.java

java -cp acm.jar; 음식물

하지만이 오류가있어 :

Exception in thread "main" java.lang.UnsatisfiedLinkError: acm.util.DOSCommandLi 
ne.getLine()Ljava/lang/String; 
     at acm.util.DOSCommandLine.getLine(Native Method) 
     at acm.util.DOSCommandLine.getCommandLine(JTFTools.java:1627) 
     at acm.util.JTFTools.getCommandLine(JTFTools.java:439) 
     at acm.util.JTFTools.getMainClass(JTFTools.java:464) 
     at acm.program.Program.main(Program.java:1320) 

은 무엇을 의미 하는가를 ... 그러나 나는 내가 JDK 'jdk1.7.0_79'

을 사용하고 있습니다 .... JDK 버전 문제를 생각한다 제 생각에는이 JDK 버전에 대해서만 예외를 던지고 있습니다. 시도하고 피드백을 요청하십시오. 감사합니다 ... Native Method에서

+0

@azurefrog 내가 그것을 acm.program.ConsoleProgram 클래스 – MGorgon

+0

그래서에서 내기 그렇습니다! 나는 b)에서 교정되었다. – azurefrog

답변

1

해결! 지금 작동하는 '실행'방법 후 추가

public static void main(String[] args) { 

    new prog().start(args); 

} 

: 내가해야 할 일을했을 무엇

그것은 네이티브 라이브러리를 필요로하지 않습니다 ... 은 주요 항목을 사용하는 것이 었습니다. 참고 :이 줄은 'new prog(). start (args);'입니다.

이 솔루션은 여기 : http://www.dreamincode.net/forums/topic/240789-acmjar-package-problem-class-wasnt-find-in-project/

감사 고르지에게

를하지만 나에게 상당한 시간이 걸렸습니다 Hushhhhh .....

0

UnsatisfiedLinkError는 네이티브 라이브러리 (창 것이 DLL을 것이다)로드 당신의 acm.util.DOSCommandLine.getLine() 방법에 대해 호출 할 수있는이 없다는 것을 의미한다.

라이브러리에는 시스템 아키텍처에 맞는 기본 라이브러리가 포함 된 기본 패키지가 있어야합니다. 이 중 하나를 클래스 경로 폴더에 넣어야합니다.