C#.NET调用jar包(java环境配置及ikvm安装)

原创 2017年10月10日 10:46:26

在ASP.NET(C#)项目中需要调用java中的方法,在VS平台中简单调用jar包的方法就是将jar包转换成dll库,之后 通过引用dll库,就可以直接使用java中的类了。C#语言和Java语言有着很多相似之处,其中的jar包和dll库就是非常相似的。

java se 6环境配置

注意:java环境需要安装 java SE 6 版本  ,否则会出现源码格式无法识别的问题

简单说下java 安装:

1.去官方网站下载jdk
JAVA SE 6 :http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html

这里写图片描述

2.下载安装包后直接安装即可,然后需要对环境变量进行配置

新建  CLASSPATH(最前面需要加 【.;】点号和分号表示在所有目录下都可以使用java类)

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

新建 JAVA_HOME (设置为安装jdk的目录)

C:\Program Files (x86)\Java\jdk1.6.0_43

PATH变量中添加

C:\Program Files\Git\usr\bin;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

3.运行cmd命令进行测试
这里写图片描述

4.编译一个java文件进行测试
这里写图片描述

5.编译后并将创建的该类打包为jar文件

这里写图片描述

IKVM.NET使用

Java环境配置后,需要下载一个IKVM.NET的工具
IKVM.NET :http://www.ikvm.net/

这里写图片描述

去Download页面,下载 ikvmbin-7.2.4630.5 包,之后将其解压,并在【环境变量】->【系统变量】中设置path路径,路径为解压的目录

;D:\ikvm\bin

安装完成后,可以开始将jar包转为dll库,使用一个命令即可

ikvmc -out:ikDllName.dll TestHw.jar //将jar文件转换成dll类库

从java源码到dll库用到的cmd命令如下图
这里写图片描述

javac HwJavaClass.java
jar cvf HwJarName.jar HwJavaClass.class
ikvmc -out:HwDllname.dll HwJarName.jar

在VS中使用jar转换后的dll库

这里直接在ASP.NET项目中新建web窗体;引用IKVM创建的dll库(除了自己创建的还需要引用另外三个IKVM自身的dll库,在解压目录的bin文件下)
这里写图片描述

HwDllname.dll
IKVM.OpenJDK.Core.dll
IKVM.Runtime.dll
IKVM.Runtime.JNI.dll

之后,可看到dll库中存在命名空间和类方法
这里写图片描述

这里写图片描述

代码如下:

using System;

using nameSpaceH;       //package nameSpaceH

namespace ADOTest
{
    public partial class test123 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            HwJavaClass mao = new HwJavaClass();    //public class HwJavaClass(){}
            string a = mao.returnString();

            Response.Write(a);

        }
    }
}

DLL动态链接库:
DLL文件中存放的是各类程序的函数(子过程)实现过程,当程序需要调用函数时需要先载入DLL,然后取得函数的地址,最后进行调用。使用DLL文件的好处是程序不需要在运行之初加载所有代码,只有在程序需要某个函数的时候才从DLL中取出。另外,使用DLL文件还可以减小程序的体积。

打开控制面板,程序,打开或关闭windows功能,勾选telnet客户端
然后输入

telnet towel.blinkenlights.nl
可以看到dos版星球大战

输入

shutdown -s -t 3600
shutdown -a
定时关机30分钟之后,-a注销命令

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

  • 2013年08月28日 22:20
  • 1.21MB
  • 下载

用java调用.net接口的方法

  • 2008年11月23日 16:37
  • 4KB
  • 下载

用IKVM在C#中调用JAVA程序

用IKVM在C#中调用JAVA程序,用IKVM在C#中调用JAVA库 IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序。本文将比较详细...
  • huwei2003
  • huwei2003
  • 2015年10月12日 15:40
  • 1601

Java调用.net开发的webservice(一)

首先介绍.net平台通过宇宙最强大的IDE发布webservice: 在一个asp.net项目里,添加一个webservice服务,       其代码很简单,实现了一个方法HelloW...
  • zhousenshan
  • zhousenshan
  • 2017年01月24日 20:09
  • 285

JAVA如何调用.NET的程序的相关方式

方式一:地球人都知道的方式,基于WebService协议进行调用。 分析:         此种方式,兼容性最好,毕竟是XML方式,本质是通过网路作用域进行解析的,对外公开接口比较简单,但是速度等相关...
  • wlanye
  • wlanye
  • 2013年07月10日 14:19
  • 2275

C#调用Java程序Jar的实现方法

  • 2016年03月22日 09:00
  • 33KB
  • 下载

C#调用jar包方法

一、将已经编译后的java中Class文件进行打包;打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理; 使用的命令:jar cvf test.jar -C com/ ....
  • FlyAurora
  • FlyAurora
  • 2015年08月01日 17:44
  • 3277

C#调用JAVA的JAR包(感觉只能调用简单的JAR包)

一、将已经编译后的java中Class文件进行打包; Eclipse或myeclipse进行Export选择jar即可。或者使用命令 如:将某目录下的所有class文件夹全部进行打包处理;...
  • fhzaitian
  • fhzaitian
  • 2017年06月27日 18:11
  • 585

C#调用java的jar文件,jar文件转dll

一、将已经编译后的java中Class文件进行打包; Eclipse或myeclipse进行Export选择jar即可。或者使用命令     如:将某目录下的所有class文件夹全部进行打包处理;...
  • starandsea
  • starandsea
  • 2016年06月13日 14:52
  • 1260

C#调用java类、jar包方法

一、将已经编译后的java中Class文件进行打包;打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理;使用的命令:jar cvf test.jar -C com/ .其中test....
  • wisdonlz
  • wisdonlz
  • 2010年08月06日 08:27
  • 4862
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#.NET调用jar包(java环境配置及ikvm安装)
举报原因:
原因补充:

(最多只允许输入30个字)