我对Linux和COM都不熟悉。不过,COM是Microsoft的技术,Linux则是基于Unix的,所以Linux没有理由支持COM。但是据说,COM的IDL和CORBA的IDL非常相似,从技术上将,Linux可以支持COM——只要有一个Linux下的COM编译器就行了。
说到Office等Microsoft产品,完全就是基于COM的。比如:Office、Project、Visio等。你完全可以利用它们的COM和另外一个支持COM的开发工具(如Delphi),重写一个界面,而内核完全一样。
Java因为是跨平台的,所以不显式地支持COM,而是通过JNI。关于JNI,其实就是在一个Java方法前用native修饰字。如:
public native void StartOffice(){}
编译之后,用javah生成C的头文件(如office.h),再根据头文件生成源文件(office.c),然后在源文件中调用COM,实现相应的功能。然后编译成为.dll,让再使用native方法前用System.loadLibrary(String)方法加载.dll文件。很复杂,是不是?所以,我看了这些步骤以后,就不打算使用JNI了。:(

解决方案 »

  1.   

    我不觉得复杂。
    只要Java的工具能帮你完成这个工作,就像ATL一样。
    我关心的是,
    我写的COM能不能方便地转移到Linux给JSP调用。
      

  2.   

    只要你证明了在Linux下可以使用COM就没有任何技术问题。
    可能是我孤陋寡闻,我没听过Linux支持COM。
      

  3.   

    我也不懂LINUX,所以来问问。
    那样对向LINUX服务器扩充能有个实际的评估。