`
huzhenyu
  • 浏览: 191958 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

C#调用Java API

 
阅读更多
把Java包转换为DLL或者EXE后注册为com组件,之后调用。(其实这个问题跟方案三类似,也需要IKVM转化Jar 为dll)2. 使用web service (可能需要对方使提供的用的是Websense 服务)3. 使用 IKVM.NET,这是一个在.net 下实现的Java VM,所以在经过一个转换后,直接跑Java的东西。    这个我从网上找了个小例子一、将已经编译后的java中Class文件进行打包;打包命令JAR

如:将某目录下的所有class文件夹全部进行打包处理;

使用的命令:jar cvf test.jar -C com/ .

其中test.jar为要生成的jar包;com/ . 为指定的当前目录下的文件夹,该文件夹包括子文件夹及class文件;

二、到IKVM官方网站下载IKVM需要的组件  http://www.ikvm.net/

  ikvm-0.42.0.3.zip

  ikvmbin-0.42.0.3.zip

  openjdk6-b16-stripped.zip  这两个红色的文件在实践的时候没用着

三、设置路径

解压ikvm-0.42.0.3.zip,并将%IKVM_HOME%\bin添加到path中。此处的%IKVM_HOME%是指解压后ikvm的主目录。

四、将java的jar包转换为.dll控件

使用的命令:ikvmc -out:IKVM.dll test.jar

其中IKVM.dll为将要生成的.dll控件文件名;test.jar为之前打包好的jar包文件。

五、在C#项目中添加所需的控件

  1、新建一个C#.NET项目,首先添加一下必须的DLLs

  %IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll

  %IKVM_HOME%\bin\IKVM.Runtime.dll

  %IKVM_HOME%\bin\IKVM.Runtime.JNI.dll

  2、添加已生成的.dll文件

      将之前生成好的.dll文件加载到C#项目中

具体测试可参考原文
http://zht1933.javaeye.com/blog/607263

from:http://hi.baidu.com/chen_claire/blog/item/0efbd1101971d205b8127b0f.html
分享到:
评论

相关推荐

    C#调用java程序的方法

    C#调用Java程序的方法 C#调用Java程序的方法是指将Java类转化成dotnet类,在C#项目直接调用。这种方法可以使得C#项目可以调用Java类的方法,从而实现C#和Java之间的交互。 在这个过程中,我们需要使用IKVM(ynamic...

    C#调用Java接口演示

    本示例主要探讨的是如何使用C#调用Java接口,实现不同编程语言之间的交互。C#和Java都是广泛应用的编程语言,它们各自拥有丰富的库和生态系统,但有时需要在两者之间建立桥梁,以利用各自的优点。本文将详细介绍这一...

    C#调用java类、jar包方法

    在跨平台开发中,有时需要将不同编程语言的组件整合在一起,例如在C#应用中调用Java类或使用Java的jar包。本篇将详细阐述如何在C#环境中实现对Java类的调用以及使用Java的jar包。 首先,要理解C#与Java之间的互操作...

    C#调用JavaWebService(客户端)

    总的来说,C#调用Java WebService的过程涉及到多个技术层面,包括XML序列化、网络通信、数据类型转换以及错误处理。理解这些细节对于实现跨平台的应用集成至关重要。在实际开发中,还需要根据具体项目需求进行适当的...

    c#调用java带身份验证webservice

    综上所述,要使用C#调用Java带身份验证的Web服务,你需要生成客户端代理类,设置正确的身份验证头,处理XML响应,并确保具备良好的异常处理机制。这涉及到对.NET框架的理解,以及对XML和身份验证协议的熟悉。通过...

    C#调用java直接调用无需生成.net组件

    本主题聚焦于"C#调用java",探讨如何在C#应用中直接调用Java代码,而无需通过生成.NET组件来实现这一目标。这样的做法能带来更高的稳定性和速度。 首先,我们需要理解的是,C#和Java属于两种不同的编程语言,它们...

    java调用webapi

    Java调用WebAPI是开发过程中常见的任务,尤其是在分布式系统或者微服务架构中,不同服务间通过API进行数据交互。WebAPI通常指的是Web应用程序提供的接口,允许客户端(如Java应用)发送HTTP请求并接收响应。本压缩包...

    jni4net C# java 相互调用

    在C#中调用Java代码时,你需要定义一个接口,该接口映射到Java中的类,然后使用`CreateJavaProxy`方法创建Java对象的代理。同样,在Java中调用C#代码时,你需要定义一个.NET接口,并在Java代码中使用`CreateNetProxy...

    C#调用Java的webservice

    本主题将深入探讨如何使用C#调用Java编写的Web服务,这通常涉及到Web Service标准如SOAP(Simple Object Access Protocol)或现代的RESTful API。我们将分为服务端和客户端两大部分进行讲解。 一、服务端(Java Web...

    ikvm C#调用 java

    3. **C#调用Java**:使用IKVM,C#代码可以通过.NET的DllImport特性或者 IKVM.OpenJDK.ClassPath.ClassLoader 类加载Java类,并调用其方法。例如,你可以创建一个Java对象,然后通过反射机制来调用成员方法。 4. **...

    C#调用Java方法实例详解

    C#调用c++ C#调用C++的例子网上很多,以一个C++的具体方法为例。 C++代码 // 获取一帧图像数据 MVSMARTCAMCTRL_API int __stdcall MV_SC_GetOneFrame(IN void* handle, IN OUT unsigned char *pData , IN unsigned ...

    java调用C#接口及所涉及到的架包

    在跨平台应用开发中,有时候我们需要在Java环境中调用C#实现的功能,这通常通过Web服务或者中间件来实现。本文将深入探讨如何在Java中调用C#接口,以及涉及的相关技术栈。 1. **Java与C#的互操作性** Java和C#虽然...

    Spring 远程调用 -- C# 访问java WEB 服务

    C#通常使用.NET Framework开发,而Java Web服务则基于JAX-WS(Java API for XML Web Services)或JAX-RS(Java API for RESTful Web Services)标准。为了实现C#与Java之间的互操作,我们需要依赖于互操作性技术,如...

    JAVA通过JNI调用C#dll的整个项目工程

    使用`LoadLibrary`和`GetProcAddress`等API加载并调用C# DLL的方法。 5. **调用C# DLL**: 在C++代码中,通过P/Invoke(Platform Invoke)机制,可以调用C# DLL中的函数。P/Invoke允许托管代码(如C#)调用非托管...

    C#调用java的webservice源代码

    本文将深入探讨如何使用C#调用Java编写的Web Service,以实现这两种语言之间的互操作性。 标题“C#调用Java的Web Service源代码”暗示了这是一个关于C#客户端如何与Java服务端进行通信的实例。Web Service是一种...

    c# 服务端调用RestFul Service的方法

    本文档将详细介绍如何使用 C# 创建和调用 RESTful 接口,包括 RESTful 的基本概念、如何构建 RESTful 风格的 API、服务端的具体实现步骤以及客户端如何调用服务端接口等内容。此外,还将提供详细的代码示例,以便...

    WebApi系列-通过HttpClient来调用WebApi接口.doc

    ##### 4.2 使用C#与HttpClient进行调用 **Get方式** ```csharp static async void dooGet() { string url = "http://localhost:52824/api/register?id=1&level=5"; var handler = new HttpClientHandler() { ...

    JAVA&C#调用存储过程代码

    以下是一个C#调用存储过程的示例: ```csharp using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Server=localhost;Database=testDB;User Id=...

    C#_c#调用德卡_T10_C#_读卡器_德卡c#

    总结来说,“C#_c#调用德卡_T10_C#_读卡器_德卡c#”涉及了C#与硬件设备的交互、设备驱动的使用、API调用、错误处理、事件编程、数据解析、安全措施以及测试等多个方面,这些都是软件开发中的重要技能。通过学习和...

Global site tag (gtag.js) - Google Analytics