2016-09-27 4 views
0

こんにちは、すべてのJavaエキスパート!私はそれが正常にコンパイルACMライブラリの小さな例にACMライブラリjdk 1.7.0_79で動作しない単純な例

import acm.program.*; 

class prog extends ConsoleProgram { 


    public void run() { 

     int number = readInt("?"); 

     println("You entered: " number);  

     } 

} 

を試してみました

。 私はこのようなコマンドラインを使用しました:

javac -cp acm.jar; main.java

java -cp acm.jar; PROG

しかし、私はこのエラーを得た:

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

..... Hushhhhh私がそのようにacm.program.ConsoleProgramクラス – MGorgon

+0

にあります賭ける@azurefrogをかなりの時間を要した:

このソリューションは、こちらをご覧くださいします!私はb)で訂正した。 – azurefrog

答えて

1

解決済み!それが今で働く「RUN」メソッドの後に追加

public static void main(String[] args) { 

    new prog().start(args); 

} 

:それはすべてのネイティブライブラリを必要としません

...私がしなければならなかった何 は、メインエントリを使用することでした。注:この行は '新しいprog()。start(args);' http://www.dreamincode.net/forums/topic/240789-acmjar-package-problem-class-wasnt-find-in-project/

おかげで途切れ

をしかし、それは

0

UnsatisfiedLinkErrorは、あなたのacm.util.DOSCommandLine.getLine()方法のために呼び出すことができたロード(窓のために、それはDLLだろう)ネイティブライブラリが存在しないことを意味します。

ライブラリには、システムアーキテクチャ用のネイティブライブラリを含むネイティブパッケージが必要です。これらのいずれかをクラスパスフォルダに配置する必要があります。

関連する問題