jni4net使用小结

  1. 网站首页

http://jni4net.com/

 

  1. 一个简单的例子:

1)      从这里下载binaries,然后解压缩.

https://sourceforge.net/projects/jni4net/files/

2)      创建一个.net的console application.

3)      讲lib目录中的jni4net.n-0.8.8.0.dll和jni4net.j-0.8.8.0.jar分别拷贝到单独的目录和根目录.

 

 

 

 

 

4)      在项目中添加jni4net.n-0.8.8.0的引用

 

 

 

5)      在Program.cs中加入如下的代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

using java.io;

using java.lang;

using java.util;

using net.sf.jni4net;

using net.sf.jni4net.adaptors;

 

namespace Jni4NetTest2

{

    class Program

    {

        static void Main(string[] args)

        {

            var setup = new BridgeSetup();

            setup.Verbose = true;

            setup.AddAllJarsClassPath("./");

 

            // create bridge, with default setup

            // it will lookup jni4net.j.jar next to jni4net.n.dll

            Bridge.CreateJVM(new BridgeSetup() { Verbose = true });

           //Bridge.RegisterAssembly(typeof(jni).Assembly);

 

           

 

            // here you go!

            java.lang.System.@out.println("Hello Java world!");

            TestNotesExporterInJava();

 

            Console.ReadLine();

        }

 

    }

}

 

 

这个程序运行起来后,就会打印出Hello Java world!的字样.

 

  1. 上面简单的例子只是使用了jni4net自带的库,如果使用其他的.jar库,就需要使用proxygen工具来生成proxy类.

如果某个软件支持java接口, 想用里面的某个jar文件的时候,就用如下的命令来生成:

"C:\jni4net-0.8.8.0-bin\bin\proxygen.exe" "C:\Program Files (x86)\<软件目录>[\<子目录>]\<需要的jar文件名>.jar" -wd "<输出目录>"

 

上面用到的jar文件如果依赖于其他的jar文件,运行命令的时候会报类似如下的错误:

Can't load class <namespace>[.<sub namespace>].<class name>

 

这个时候就需要使用-cp或者dp参数.

比如:

"C:\jni4net-0.8.8.0-bin\bin\proxygen.exe" "C:\Program Files (x86)\<软件目录>[\<子目录>]\<需要的jar文件名>.jar" -wd "<输出目录>" –cp “c:\software1\libs”,”c:\software2\aa.jar”

-cp参数的写法可能仿照这里的就可以

 https://www.ibm.com/developerworks/lotus/library/ls-Java_access_pt1/index.html 

 

 

 

Dp参数还没有研究明白.

 

  1. 官网给的例子:

https://github.com/jni4net/jni4net/wiki/Calling-Java-in-C%23

 

  1. 官网给出的proxy的proxygen用法

https://github.com/jni4net/jni4net/wiki/Generating-Proxies

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值