小毅收藏之------在C#中調用Java代碼

          Posted on 2009-06-12 22:31 H2O 閱讀(826) 評論(0)  編輯  收藏 所屬分類: java
          1. IKVM官方網站下載IKVM需要的組件
            1. ikvm-0.40.0.1.zip
            2. ikvmbin-0.40.0.1.zip
            3. openjdk6-b12-stripped.zip
          2. 解壓ikvm-0.40.0.1.zip,并將%IKVM_HOME%\bin添加到path中。此處的%IKVM_HOME%是指解壓后ikvm的主目錄。
          3. Debian IKVM下載IKVM.OpenJDK.ClassLibrary.dll。
            1. 或者到rayfile去下載data.tar.gz。這個文件可以直接用winrar解壓。
            2. 你需要下載一個簡單的工具undeb去解壓.deb文件。
              1. 也可以到rayfile下載
          4. 解壓ikvm_0.38.0.2+dfsg-2_all.deb文件。
          5. 新建一個Java文件
            package com.helloikvm.simple;

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

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

            }
             
          6. 編譯SimpleReturnString文件,然后將其打包成一個jar文件,例如IKVM.jar.
          7. 使用ikvmc -out:IKVM.dll IKVM.jar。你現在應該在IKVM的目錄下面看到一個IKVM.dll文件。
          8. 新建一個C#.NET項目,首先添加一下必須的DLLs
            1. %IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll
            2. %IKVM_HOME%\bin\IKVM.Runtime.dll
            3. %IKVM_HOME%\bin\IKVM.Runtime.JNI.dll
            4. IKVM.OpenJDK.ClassLibrary.dll[這的DLL在ikvm_0.38.0.2+dfsg-2_all.deb\usr\lib\cli文件夾中?;蛘咭部稍赿ata.tar.gz中的usr\lib\cli中找到。參看第三步和第四步]
          9. 添加第10步生成的IKVM.dll到C#.NET項目中,然后using %package_name%就可以實現對Java的調用。
          10. 編寫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;
                    }

                }

            }
             

          posts - 0, comments - 21, trackbacks - 0, articles - 101

          Copyright © H2O

          主站蜘蛛池模板: 通州区| 竹北市| 临高县| 义乌市| 大港区| 高要市| 图片| 哈密市| 印江| 多伦县| 德昌县| 龙门县| 塔河县| 桂阳县| 吉木乃县| 德州市| 炎陵县| 开远市| 兴隆县| 通河县| 永嘉县| 九江县| 聊城市| 绩溪县| 古田县| 梁平县| 洪江市| 连平县| 舟曲县| 云南省| 威海市| 遂川县| 赫章县| 赤壁市| 连城县| 乌兰浩特市| 鄂伦春自治旗| 淳化县| 鸡东县| 禄丰县| 延长县|