Java调用C# SDK

1、打开vs2022创建一个类库项目,vs版本不限制

 2、生成dll,没有技术含量跳过

 

二、编写java代码
1.用jni4net工具把dll文件编译;
文件夹找到jni4net的bin目录,创建cmd命令文件,方便后续使用;
命令:.\proxygen.exe “DLL所在路径” -wd “java项目根路径”
如:.\proxygen.exe “D:\Java\HelloWorld.dll” -wd “E:\Project\Jni4netProject”
执行后java项目的根目录下会多出下图红色框中的文件和一个build.cmd文件

build.cmd 配置之后会报错需要配置环境变量

javac配置方式:https://blog.csdn.net/write6/article/details/79136388

csc配置方式:https://blog.csdn.net/wangxianglian/article/details/7225858

2.将dll文件打包乘jar包
将命令行切换到java项目的根目录下(和src同级目录),执行命令build.cmd,java项目根目录下会编译出2个文件分别为HelloWorld.j4n.dll和HelloWorld.j4n.jar,
如下图:


3.拷贝文件并添加jar包依赖;
然后将jni4net的lib目录下的jar文件和dll文件copy到java项目的根目录下,将C#项目的HelloWorld.dll的文件也copy到java项目的根目录下,


添加依赖的方式有多种(我用的第一种),如:
1.将HelloWorld.j4n.jar和jni4net.j-0.8.8.0.jar添加到File—Progect Structure --Modules–Depengdenies–

2.把jar包放到指定位置,在pom文件中添加依赖,如:

<dependency>
<groupId>com.xgtx</groupId>
<artifactId>ObcClient.j4n</artifactId>
<version>1.0.1</version>
<scope>system</scope>
<systemPath>C:/dll/ObcClient.j4n.jar</systemPath>
</dependency>
<dependency>
<groupId>com.xgtx</groupId>
<artifactId>jni4net.j</artifactId>
<version>1.0.1</version>
<scope>system</scope>
<systemPath>C:/dll/jni4net.j-0.8.8.0.jar</systemPath>
</dependency>

  


4.java代码

public static void main(String[] args) {
Bridge.setVerbose(true);
Bridge.init();
File dll = new File( "HelloWorld.j4n.dll");
Bridge.LoadAndRegisterAssemblyFrom(dll);
int result =helloWorld.Hello.display(66,22);
System.out.println("计算结果为:"+result);
}

  

 

posted @ 2022-08-31 18:23  blackhole1  阅读(472)  评论(0编辑  收藏  举报