2011-01-13 9 views
3

ich gerade installiert JGNAT unter Windows (gnat-gpl-2010-jvm-bin.exe)Führen Sie ein JGNAT-Programm aus?

Dies ist ein Beispielcode hello.adb aus dem Handbuch enthalten:

with Ada.Text_IO; use Ada.Text_IO; 
procedure Hello is 
begin 
    Put_Line ("Hello GNAT for the JVM."); 
end Hello; 

Erste , kompilieren: jvm-gnatmake hello.adb

jvm-gnatcompile -c hello.adb 
jvm-gnatbind -x hello.ali 
jvm-gnatlink hello.ali 

sieht gut aus. Lassen Sie uns so führen Sie es: java hallo

Exception in thread "main" java.lang.NoClassDefFoundError: jgnat/adalib/GNAT_libc 
    at hello.main(hello.adb) 
Caused by: java.lang.ClassNotFoundException: jgnat.adalib.GNAT_libc 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 1 more 

Jede Idee, warum?

+2

Ist die GNAT_libc-Klassendatei am angegebenen Speicherort? Ist der CLASSPATH gesetzt? Sind Installationshinweise oder Versionshinweise in der Distribution enthalten, und wenn ja, werden die Aktivitäten nach der Installation erwähnt? –

+0

Es sieht so aus, als könnte es ein Problem mit der nativen Code-Bridge sein. – Rekin

+0

@trashgod - Das wäre ein viel besserer Ratschlag, wenn jemand es für richtig gehalten hätte, ihm eine Antwort zu geben. –

Antwort

1

Hier ist die Lösung. Sie müssen den Klassenpfad auf die JAR-Datei festlegen, die GNAT_libc.class enthält.

java -cp C:\GNATPRO\2010\lib\jgnat.jar;. hello 
Verwandte Themen