remember, you can always use J#, :-)Java programs run in JVM, .NET programs run in CLR, java classes make no sense to .NET, .NET classes make no sense to Java,how can you make them interact? you might be able to do it if you expose Java/.Net classes as COM objects through COM Interop

解决方案 »

  1.   

    你可以自己定义一个类似与webservice的东东来处理,定义一组通用规则来调用
    不过没有什么必要啊
      

  2.   

    可以用rpc不过比webservice更复杂
    如果只要通行可以用socket
      

  3.   

    我手上也有个工程卡在这里
      
    对方是提供一个JAR 包里面全是 class,给我们用JAVA 开发时引用它,并使用它的方法来执行需要的操作。可我们的开发和客户的开发全是。NET,这下晕啊虽然说我们可以在JAR上再用JAVA开发一个程序与。NET 使用SOCKET或webservices 来交换数据但那样的代价太大了,要绕着走了而且性能又不高,有没有什么法可以将它和COM一样的引用我试过用J# 但它虽然可以写JAVA 给.net 但无法引用由sun 公司的J2re 上开发的class,问题真是麻烦啊哪位高人帮忙指点一下
      

  4.   

    其实有两件事要做,一是两者的数据交换,你可以用后台数据库实现,或用socket通讯.
    二是功能的调用,能不能这样,做一个中间产品或中间件之类的,负责与这两者通讯.没遇到具体问题,只是提点思路,不一定有效.
      

  5.   

    不知道broland的janeava(不知道是不是这样写的)有谁用过没有,它是不是就是做这个用的。
      

  6.   

    同楼上
    我也觉得Janeva可能可行,不过偶没的JAVA环境来试验也不会JAVA...
      

  7.   

    如果是在.NET的程序和JAVA的程序之间通讯,可用"管道通信"的方式。
    在.NET端的程序如下:
    using System.Diagnostics;private Process    process ;
    string executableFilename="java.exe";//----------------启动与要与.net应用程序通信的JAVA程序------------------\\
    process.StartInfo.FileName = executableFilename;process.StartInfo.Arguments="你的JAVA应用程序";
      //-----------------例----------------\\
      //process.StartInfo.Arguments="-  //classpath ./mpsvr.jar;./lib/mppapi.jar;./lib/servlet.jar;./lib/xerces.jar 
      //com.treble.mpserver.MPServer -f ./mps.properties";
      //-----------------例----------------\\
    process.StartInfo.UseShellExecute=false;      //  UseShellExecute 
    process.StartInfo.RedirectStandardOutput=true;
    process.StartInfo.RedirectStandardInput=true;
    process.Start();
    //----------------启动与要与.net应用程序通信的JAVA程序------------------\\
    //向JAVA程序发送数据
    process.StandardInput.WriteLine("要发送的数据内容!");//接收JAVA程序发送来的数据
    string str= process.StandardOutput.ReadLine();process.Kill();
    在JAVA端的程序也可这样写。
    祝好运。
      

  8.   

    to arsang(阿山),你给的思路是没错但是只能用于可执行文件...
    不像Janeva那样可以直接调用java写的class
      

  9.   

    Janeva就是它,不过目前还不完善!再等等吧
      

  10.   

    to Sunmast(速马)
        楼主的问题是“有什么办法使.Net写的程序跟用Java写的程序相互调用,除了WebService?”
        我估计也就是想在两个执行文件之间进行数据交换。
        Janeva我就不熟悉了。能否介绍一二。谢谢
      

  11.   

    webservice/socket是可以的,但上面说有Janeva 也不知道这是什么东东!
    关注!
      

  12.   

    Janeva我也不懂啊,只是看<程序员>有介绍,所以觉得可行http://info.borland.com/techpubs/janeva/
    这里是borland关于Janeva的资料,我还在看,争取今天可以做个Sample出来吧...
      

  13.   

    In C# builder , there is Jantva  can do it
      

  14.   

    如果是.net写的程序,有个工具可以使java代码来调用它。问题是这个工具很大,有20 - 30M(只是核心),但是这个通信过程绝对是可以实现的。
      

  15.   

    可以,但是很困难!java可以与C打交道,而c++.net可以运行非托代码与托管代码。C语言就是它们之间的桥梁
      

  16.   

    Javeva下载地址:
    http://altd.borland.com/download/janeva/jnva25/janeva_25.zip大家下载试试看~~
      

  17.   

    可以通过c#builder的方式,好象是通过cobra的代理完成.net与cobra和j2ee之间的通信,没试过,不过我相信borland可以作到
      

  18.   

    只要不怕麻烦是可以实现的,但得不尝失。
    Java和.Net的虚拟机是不同的,如果要他们互相调用,只有在一方外面包裹后厚的一层,或WebService 或RPC
      

  19.   

    janeava可以的,java的web服务器要用weblogic 7.x以上,或者是BDE(通过IIOP协议)
    我试过了,不过说实在的这种方案是不可行的,速度慢,而且不稳定,呵呵如果项目中还要带一个
    昂贵的WebLogic,想起来就觉得不可思议。当然有可能是要访问客户已有的资源,用这种方式还是可行的。
    我们只是测试,基本是不用这种方案。
    www.theserverside.com 做过这方面的详细测试,成功地把他们的页面从jsp转成aspx
    http://www.theserverside.com/home/thread.jsp?thread_id=21193另外这家公司的产品看他们的介绍也是相当的不错,只是没时间去测试
    http://j-integra.intrinsyc.com/ja.net/info/另外janeva安装后也会有相应的例子(简单)
    你的jvabean不能太复杂,否则javneva编译不了,2.5还好一点
    调试过程,很痛苦的,祝好运!
      

  20.   

    http://interop.theserverside.com/home/index.aspx
    这是theserverside转化后的页面
      

  21.   

    Application Interoperability: Microsoft .NET and J2EEhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/jdni.asp
      

  22.   

    http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dnpag/html/jdni.asp这里有个非常好的解决方案。。