我连JNI是什么都不清楚,
谁给我讲讲?

解决方案 »

  1.   

    这样试试
    public class HelloWorld{
      public native void displayHelloWorld();
        static  {
          System.loadLibrary("hello");
        }
    }public class test{
      public static void main(String[] args){
          HelloWorld.displayHelloWorld();
        }
    }
      

  2.   

    把你的dll放到system目录下或者当前目录下,再试试
      

  3.   

    cablink()
    我是把dll文件放在了当前目录下的。
    用了你的方法,这样的错误:
    exception in thread "main" java.lang.nosuchmethoderror:main
      

  4.   

    muqiao(聪明的牛)
    不太懂dll怎么贴出来
      

  5.   

    cablinkk和muqiao(聪明的牛)
    怎么没有回复了,
    还要你们的帮忙啊
      

  6.   

    你的dll是实现用javah -jni HelloWorld 生成的头文件吗?
    dll测试过了吗?如果你用vc开发dll,在vc中可以设置用java程序debug dll的,试试就知道了.
      

  7.   

    masterz()
    可是结果还是一样的,总是原来的那些错误。
      

  8.   

    首先要看你的Classpath设置好了没有,记住可在Classpath前加上".\;";
    另外在Http://jdeveloper.yeah.net上有一篇“在Windows 中实现 Java 本地方法”的文章,你可以去看一看。我试过一次,成功了。你也试一试。
      

  9.   

    如果你的class是属于某个package,用javah时要 用全名,见javah help
      

  10.   

    你是否有hello这个dll呢?里面确实已经实现了displayHelloWorld这个方法
    这个错误是因为它在dll里面找不到这个对应的实现方法,或你没有生成dll
      

  11.   

    hothujiede(江海游子)
    classpath 是不是就是开始安装jdk的时候
    在autoexec里面设置的command路径?
      

  12.   

    masterz()
    写好了类和本地方法之后
    要大包才可以实现吗?
    怎么样大包?
      

  13.   

    那个是在建立dll文件是自动生成的
    有的只是一个HelloWorld.h文件
    它是通过javah -jni HelloWorld生成的。原码如下:
    /* DO NOT EDIT THIS FILE - it is machine generated */
    #include <jni.h>
    /* Header for class HelloWorld */
    #include "Stdafx.h"
    #ifndef _Included_HelloWorld
    #define _Included_HelloWorld
    #ifdef __cplusplus
    extern "C" {
    #endif
    /*
     * Class:     HelloWorld
     * Method:    displayHelloWorld
     * Signature: ()V
     */
    JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld
      (JNIEnv *, jobject);#ifdef __cplusplus
    }
    #endif
    #endif
    我想可能是dll文件的原因,在用vc生成dll文件时
    我把precompiled headers 设置成了not use,要不根本就通不过编译。
      

  14.   

    muqiao(聪明的牛)
    dll文件怎样去测试?
      

  15.   

    hothujiede(江海游子)
    那篇文章
    在什么地方,我没有找到
    位置可以具体一点吗?
      

  16.   

    http://jdeveloper.myrice.com/doc/23.html
      

  17.   

    hothujiede(江海游子)
    那个例子实在是太好了!
    真的是大受启发啊!
    分数是你的了。
    谢谢你!也谢谢大家,我想还是我的.dll文件做的不对。