大家好,我想用java调用fortran生成的test.exe,用最简单的例子进行测试:
运行test.exe,会在屏幕打出"hello"而我的java程序如下:
public class TestRuntime
{
    public static void main(String[] args)
    {
        Process p=null;
   try
       {
        p=Runtime.getRuntime().exec("/root/test.exe");
       } 
   catch(Exception e)
       {
           System.out.println(e.getMessage());
      
       }
     
    }
}
本程序在Eclipse中编译运行,Console里没有任何显示;但直接在终端javac编译和java运行,则出现下列错误:[root@raulraul testexe]# javac TestRuntime.java
[root@raulraul testexe]# java TestRuntime
Exception in thread "main" java.lang.NoClassDefFoundError: TestRuntime
Caused by: java.lang.ClassNotFoundException: TestRuntime
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: TestRuntime.  Program will exit.请各位大虾帮帮忙
我的配置:Linux CentOS5.2
                   Fortran编译器: PGI7.02
                   JAVA:JDK-1.6.0_16/Eclipse3.5.1

解决方案 »

  1.   

    对谢谢,刚刚在classpath添加了当前目录"./"以后编译运行就没有出现上述错误信息,但是也没有任何信息
    如果是调用了test.exe,应该在屏幕上有"hello“的
      

  2.   

    你手动run一下test.exe 可以用的?
      

  3.   

    可以,很正常
    我后来将fortran程序稍改一下,输出到一个文件.dat中,运行java程序也没有生成.dat,估计可能是没有调用test.exe