我调用了一个自己用.net写的外部程序,但是这个程序需要一个dll 直接运行的话把dll和这个程序放在一个目录下便可 但采用Runtime.getRuntime().exec执行则出现错误(和dll在一个目录下) 我考虑将所需要的dll放在windows的系统目录下依旧不能解决 是不是需要将dll变成.net类库中的内容呢? 谁知道啊 感激不尽!

解决方案 »

  1.   

    在JAVA程序中,首先需要在类中声明所调用的库名称,如下:
      static {
      System.loadLibrary("myDllName");
      } 
      

  2.   

    楼主,你.dll不是一个程序怎么运行啊。
      

  3.   

    问题最终是自己解决了,上面有人说运行dll 我的意思是我运行一个.exe需要一个dll 用.net编写的
    关于LoadLibrary肯定也是不行的,因为LoadLibrary只能显式调用由JAVA生成的.dll 如果重新由JAVA编写再编译工作量太大
    其实很简单 就是使用GAC 将自己的dll通过加强名称之后加入全局程序库 这样 Runtime.getRuntime().exec()调用这个外部的exe程序时就不再出错了
    关于使用强名称的方法 网上很多地方有 MSDN也有 就不再赘述了~
      

  4.   

    呵呵,这里面的弟兄对.net不够了解,欣赏楼主分享成果。