Search code examples
javaacm-java-libraries

ACM Library simple example not working with jdk 1.7.0_79


Hi All java Experts!

When I tried a little example of acm library

import acm.program.*;

class prog extends ConsoleProgram {


    public void run() {

        int number = readInt("?");

        println("You entered: " number);    

        }

 }

It compiled successfully. I used commandline like this:

javac -cp acm.jar; main.java

java -cp acm.jar; prog

But I got this error:

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)

What does it mean... I think the JDK version problem.... however I am using JDK 'jdk1.7.0_79'

In my opinion It is throwing exception only for this JDK version. Request to try you and give feedback. Thanks...


Solution

  • Solved!

    It doesn't require any native library... What I had to do was to Use main entry as:

    public static void main(String[] args) {
    
        new prog().start(args);
    
    }
    

    Adding after 'run' method it works now. Note: this line 'new prog().start(args);'

    This solution found here: http://www.dreamincode.net/forums/topic/240789-acmjar-package-problem-class-wasnt-find-in-project/

    Thanks Choppy

    But it took me considerable time Hushhhhh.....