2011-01-13 28 views
3

我在Windows剛安裝JGNAT(蚋-GPL-2010-JVM-bin.exe運行JGNAT程序?

這是一個示例代碼hello.adb從附帶手冊:

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

首先,編譯:JVM-gnatmake hello.adb

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

看起來不錯。因此,讓我們運行它:的Java你好

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 

任何想法,爲什麼?

+2

GNAT_libc類文件是否在指定位置?是否設置了CLASSPATH?發行版中是否包含安裝指南或發行說明,如果有,是否提及需要完成的安裝後活動? –

+0

看起來它可能是一個與本地代碼橋相關的問題。 – Rekin

+0

@trashgod - 這樣會更好的建議是有人已經看到適合給他提供答案。 –

回答

1

這是修復程序。您必須將類路徑設置爲包含GNAT_libc.class的jar文件。

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