小毅收藏之------在C#中調(diào)用Java代碼

          Posted on 2009-06-12 22:31 H2O 閱讀(818) 評(píng)論(0)  編輯  收藏 所屬分類: java
          1. IKVM官方網(wǎng)站下載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。這個(gè)文件可以直接用winrar解壓。
            2. 你需要下載一個(gè)簡(jiǎn)單的工具undeb去解壓.deb文件。
              1. 也可以到rayfile下載
          4. 解壓ikvm_0.38.0.2+dfsg-2_all.deb文件。
          5. 新建一個(gè)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文件,然后將其打包成一個(gè)jar文件,例如IKVM.jar.
          7. 使用ikvmc -out:IKVM.dll IKVM.jar。你現(xiàn)在應(yīng)該在IKVM的目錄下面看到一個(gè)IKVM.dll文件。
          8. 新建一個(gè)C#.NET項(xiàng)目,首先添加一下必須的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文件夾中。或者也可在data.tar.gz中的usr\lib\cli中找到。參看第三步和第四步]
          9. 添加第10步生成的IKVM.dll到C#.NET項(xiàng)目中,然后using %package_name%就可以實(shí)現(xiàn)對(duì)Java的調(diào)用。
          10. 編寫(xiě)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

          主站蜘蛛池模板: 淮安市| 蒙自县| 乃东县| 剑阁县| 卓尼县| 南和县| 论坛| 邵东县| 玛沁县| 泰兴市| 洛浦县| 丹凤县| 内丘县| 马关县| 分宜县| 巩义市| 常熟市| 克什克腾旗| 吉木乃县| 嘉禾县| 炎陵县| 金门县| 胶南市| 临漳县| 五寨县| 榆中县| 卓资县| 三台县| 中超| 浦城县| 水富县| 定远县| 云龙县| 漳平市| 增城市| 彭山县| 罗平县| 湟源县| 临江市| 溧阳市| 本溪市|