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

          Posted on 2009-06-12 22:31 H2O 閱讀(826) 評(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. 編寫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

          主站蜘蛛池模板: 公安县| 澄迈县| 务川| 青浦区| 鱼台县| 色达县| 呈贡县| 宁安市| 涟源市| 乌兰浩特市| 久治县| 新安县| 潜山县| 开阳县| 和硕县| 丹江口市| 永康市| 西青区| 杭锦旗| 凤台县| 海宁市| 项城市| 思茅市| 龙山县| 扶沟县| 翁牛特旗| 阜宁县| 长春市| 湾仔区| 达日县| 资溪县| 天气| 边坝县| 梓潼县| 德化县| 油尖旺区| 江都市| 邵阳市| 曲沃县| 丰都县| 武义县|