我在利用jni传递函数滴时候遇到困难咯。
   我利用JNI可以实现下面的通信
   class Message implements IMessage{
      public String GetName() throws IOException{
         return  "HelloWorld";
     }
   }     
   但是当我用一个类Hello来传递一个静态方法show来返回一个字符串的时候,代码如下
   import com.Hello;
   class Message implements IMessage{
      public String GetName() throws IOException{
         return  Hello.show();
     }
   }
   在COM端,报错,说找不到包com.Hello,报错如下:
   java.lang.NoClassDefFoundError: com/Hello
   我在path跟classpath中都设置了com.Hello类所在目录的路径,都无法解决。
   请高手指教啦。
   附类Hello的内容:
   package com;
   class Hello{
   public static String show(){
      return "HelloWorld";
   }
   }

解决方案 »

  1.   

    应该没什么问题!确认你的class文件都在相对应的包下,至于路径不用设置也可以,检查一下,应该是你自已配置方面的问题。
      

  2.   

    在本地JAVA环境下调试没有任何问题。
       import com.Hello;
       class Message implements IMessage{
          public String GetName() throws IOException{
             return  Hello.show();
          }
          public static void main(String[] args){
             System.out.println(Hello.show());
          }
       }
    控制台输出没有问题,怀疑是生成JVM的时候无法找到路径。