在C#中調用Java產生的jar庫檔案的方法
來源:互聯網
上載者:User
一、將已經編譯後的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#項目中六、測試 在C#項目中使用java類,其方法同java。但對包的引用使用C#的文法using原始碼: Java原始碼: 1 package com.zht;
2 //要調用的Java類
3 public class Test {
4 //要調用的Java方法
5 public String returnString() {
6 return "Hello, zht!";
7 }
8 } C#表單原始碼: 1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using com.zht;
10
11 namespace KIVMTest
12 {
13 public partial class Form1 : Form
14 {
15 public Form1()
16 {
17 InitializeComponent();
18 }
19
20 private void Form1_Load(object sender, EventArgs e)
21 {
22 Test t = new Test();
23 string str = t.returnString();
24 MessageBox.Show(str);
25 }
26 }
27 }