程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 在C#中調用Java代碼

在C#中調用Java代碼

編輯:關於C語言

到IKVM官方網站下載IKVM需要的組件

ikvm-0.40.0.1.zip

ikvmbin-0.40.0.1.zip

openjdk6-b12-stripped.zip

解壓ikvm-0.40.0.1.zip,並將%IKVM_HOME%\bin添加到path中。此處的%IKVM_HOME%是指解壓後ikvm的主目錄。

到Debian IKVM下載IKVM.OpenJDK.ClassLibrary.dll。

或者到rayfile去下載data.tar.gz。這個文件可以直接用winrar解壓。

你需要下載一個簡單的工具undeb去解壓.deb文件。

也可以到rayfile下載

解壓ikvm_0.38.0.2+dfsg-2_all.deb文件。

新建一個Java文件 package com.helloikvm.simple;

public class SimpleReturnString {
    public String returnString() {
        return "Hello, IKVM!";
    }

    public void throwException() throws Exception {
        throw new Exception("Hello, Exception!");
    }
}

編譯SimpleReturnString文件,然後將其打包成一個jar文件,例如IKVM.jar.

使用ikvmc -out:IKVM.dll IKVM.jar。你現在應該在IKVM的目錄下面看到一個IKVM.dll文件。

新建一個C#.Net項目,首先添加一下必須的DLLs

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

%IKVM_HOME%\bin\IKVM.Runtime.dll

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

IKVM.OpenJDK.ClassLibrary.dll[這的DLL在ikvm_0.38.0.2+dfsg-2_all.deb\usr\lib\cli文件夾中。或者也可在data.tar.gz中的 usr\lib\cli中找到。參看第三步和第四步]

添加第10步生成的IKVM.dll到C#.Net項目中,然後using %package_name%就可以實現對Java的調用。

編寫C#代碼 // import Java package

using com.helloikvm.simple;

namespace IKVMTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void btnTest_Click(object sender, EventArgs e)
        {
            // Initialize the Java method
            SimpleReturnString simpler = new SimpleReturnString();
            // Call Java method
            String returnString = simpler.returnString();
            txtTest.Text = returnString;
        }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved