2011-01-13 2 views
3

私はWindows上でJGNAT(GNAT-GPL-2010-JVM-bin.exeJGNATプログラムを実行しますか?

これは含まマニュアルからのサンプルコード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 
関連する問題