在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变量中添加
;%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注销命令