Native.loadLibrary(String, class)第一个参数用绝对路径没有问题,可要是相对路径怎么写呢?
我项目位置:D:\workspace\test
.java文件位置:D:\workspace\test\scr\com\sys\angCLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\common\lib\servlet-api.jar;%JAVA_HOME%\jre\lib\rt.jarAPI INSTANCE = (API)Native.loadLibrary("D:\\测试程序\\DLL\\API", API.class);
想把第一个参数从绝对路径改成直接写API,那这个API.DLL要放在什么位置呀?

解决方案 »

  1.   

    放在工程的src下,发布后出现在WEB-INF\classes\下,然后在你要调用API INSTANCE = (API)Native.loadLibrary的类中(如类名为A),调用如下
    String path=A.class.getResource("/").getPath()+"API.dll";
    //如何tomcat路径中有空格,加上这句path=path.replaceAll("%20", " ");
    API INSTANCE = (API)Native.loadLibrary(path, API.class);
    祝你成功
      

  2.   

    java.lang.UnsatisfiedLinkError: Unable to load library '/D:/Tomcat6.0/webapps/CSPSWeb/WEB-INF/classes/hsdes.dll': ???????¨????顣我的怎么掉不了啊
      

  3.   


    告诉你了,是'/D:/Tomcat6.0/webapps/CSPSWeb/WEB-INF/classes/hsdes.dll'导入失败,是不是位置不对,或者你计算机中根本没有这个库?
      

  4.   

    java怎么调用.net生成的dll啊??
      

  5.   

    都一样,你要是用JNA就和我贴出来的一样