Java 运行JGNAT程序?
我刚刚在Windows上安装了JGNAT(gnat-gpl-2010-jvm-bin.exe) 这是附带手册中的示例代码hello.adb:Java 运行JGNAT程序?,java,jvm,ada,Java,Jvm,Ada,我刚刚在Windows上安装了JGNAT(gnat-gpl-2010-jvm-bin.exe) 这是附带手册中的示例代码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 看起来不错。那么让我们运行它:java hello 知道为什么吗
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
看起来不错。那么让我们运行它:java hello
知道为什么吗?这是解决办法。必须将类路径设置为包含GNAT_libc.class的jar文件
java -cp C:\GNATPRO\2010\lib\jgnat.jar;. hello
GNAT_libc类文件是否位于指定位置?类路径设置好了吗?发行版中是否包含安装指南或发行说明,如果是这样的话,有没有提到需要完成的安装后活动?看起来这可能是一个与本机代码桥相关的问题。@trashgod-如果有人认为合适,可以给他提供一个答案,那就更好了。@T.E.D:这一点很好,但我看到19个问题,25个答案,0个被接受,零票,对@Marc C的有益评论没有回应。
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
java -cp C:\GNATPRO\2010\lib\jgnat.jar;. hello