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

          Posted on 2009-06-12 22:31 H2O 閱讀(818) 評論(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文件夾中。或者也可在data.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

          主站蜘蛛池模板: 仪陇县| 察隅县| 通化市| 塘沽区| 交城县| 沾化县| 柳河县| 峨眉山市| 嘉禾县| 翁牛特旗| 浪卡子县| 河西区| 葫芦岛市| 江都市| 清新县| 金阳县| 金塔县| 南投县| 同仁县| 仁布县| 马公市| 砚山县| 洛扎县| 砀山县| 张北县| 都安| 华池县| 封丘县| 南汇区| 高碑店市| 阿勒泰市| 康乐县| 泰来县| 临城县| 寻乌县| 万源市| 揭阳市| 九龙县| 同心县| 玛曲县| 高尔夫|