研究很好几天,终于成功了。因为写了一个Java的项目,现在要求要改写成C#版本的。但是其中用到了svnkit,svnkit是java平台的。改写成C#的话,要使用SharpSVN,但是SharpSVN的API文档真的很不专业。看来看去还是svnkit比较好。所以打算将一些操作(上传,下载,删除,移动,检索树)写好之后,转成dll。于是开始了研究。

  首先遇到的问题是:jar包之间有依赖的话,转成dll。在运行过程中会出现找不到类的错误。最终找到了解决办法:有两种办法。

  1.使用fatjar将他们统一一键打包(依赖包可以存在新建的lib文件夹中),再使用

ikvmc -target:library 打包好的fatjar文件路径

  来将jar包转成dll。

  在新建的C#工程中添加引用(添加转好的dll),直接使用打包好的函数就行。(就像使用库函数)

  2.第二种方法是这样的:

  我举个例子说明一下:一个类名为:GetUserName(),将其导出为jar(BeDependent.jar)。再写一个类命名为InvokeGetUserName(),并且在InvokeGetUserName()中调用了GetUserName()。将InvokeGetUserName打包成另一个jar(ToDependent.jar)。

  接下来:先将没有依赖的jar包转成dll,这里指的就是BeDependent.jar。

ikvmc -target:library BeDependent.jar的路径

  会生成BeDependent.dll,然后将两个jar包合成:

ikvmc -target:library -reference:BeDependent.dll的路径 ToDependent.jar的路径

  生成ToDependent.dll。在新建的C#项目中加载引用后,直接在程序中直接调用InvokeGetUserName()即可。

注:但是在我合成svnkit的jar们的时候,出现了问题。还没有解决。

http://www.cnblogs.com/wangjiyuan/p/jar2dll.html

Jar包转成Dll的方式(带嵌套的jar也能做) (转)相关推荐

  1. IDEA MAVEN项目打包成jar包的两种简单方式

    IDEA MAVEN项目打包成jar包的两种简单方式 准备了两个打包方法 1.IEDA自带打包方法 2.用Maven插件maven-shade-plugin打包 IDEA自带打包 适用于任何打包,稍微 ...

  2. java 将应用程序打成可执行的JAR包,然后使用批处理方式运行

    1. jar 命令详解 jar 是随 JDK 安装的,在 JDK 安装目录下的 bin 目录中,Windows 下文件名为 jar.exe,Linux 下文件名为 jar.它的运行需要用到 JDK 安 ...

  3. Spring Boot由jar包转成war包

    Spring Boot由jar包转成war包 spring boot 默认是以jar包形式启动web程序,在新建spring boot项目时候可以选择war包的启动方式. 建议在开发的时候建立以jar ...

  4. java jar合并_多个jar包合并成一个jar包(ant)

    https://blog.csdn.net/gzl003csdn/article/details/53539133 多个jar包合并成一个jar 使用Apache的Ant是一个基于Java的生成工具. ...

  5. 使用exej4把Java 的jar包打包成exe小程序工具分享

    使用exej4把Java 的jar包打包成exe小程序的工具下载 此处给个exej4的目前最新版的安装包(已经包含注册码)下载(国外官网下载东西,速度之满大家都是知道的): 百度网盘: 链接:http ...

  6. 将jar包转换成可执行.exe文件

    将jar包转换成可执行.exe文件 写在前面的话 将jar转换成exe 写在前面的话 在转换之前需要先到处一个可执行的jar,确保你的程序是正确的.我们需要创建一个文件来存放我们生成的exe文件.在这 ...

  7. 关于如何用exe4j把jar包转换成.exe文件

    一.前言:用exe4j程序把在IDEA编译器生成的jar包转换成可执行的.exe文件,这样,你写的小游戏就可以打包给别人玩耍啦,一起来学习吧! 二.exe4j的下载与安装 1.下载传送门:https: ...

  8. Maven引入本地jar包,解决打包时找不到本地jar包

    springboot,maven引入本地jar,生成pdf使用,找不到类问题 参考:Maven引入本地jar包,解决打包时找不到本地jar包 日志 Caused by: java.lang.NoCla ...

  9. base64是哪个jar包的_涨知识 | 用maven轻松管理jar包

    前言 相信只要做过 Java 开发的童鞋们,对 Ant 想必都不陌生,我们往往使用 Ant 来构建项目,尤其是涉及到特别繁杂的工作量,一个 build.xml 能够完成编译.测试.打包.部署等很多任务 ...

最新文章

  1. AgileEAS.NET平台开发指南-实现插件
  2. 关于Spring Cloud Zuul网管上传文件乱码问题
  3. Qt / QPainter、QPen、QBrush 如何理解
  4. MySQL查询时通过修改字段的排序规则来忽略大小写的操作讲解
  5. 跟着太白老师学python 09day 初识函数
  6. 9.3 LSMW程序创建操作手册 第5 6 7步
  7. 痛恨3721的朋友们,装个avast! Antivirus吧
  8. Matlab图形修饰之色彩处理
  9. pythonz字体颜色以及终端不显示颜色的解决办法
  10. Your connection is not private Attackers might be trying to steal your information from nemertes.lis
  11. Benchmark tool library for c++ code
  12. CMPSS 涡扇发动机模型
  13. 万兴科技开启公司史上最大规模秋招,拟在长沙组建千人团队
  14. win下装django
  15. Airtest微信朋友圈自动点赞
  16. 发qq邮件被对方服务器拒绝,QQ被对方拉黑了。我发QQ邮件对对方能收到吗?
  17. 和平精英怎么在电脑上玩?匹配手机最简单的方式玩你值得拥有
  18. 光之盟:从ONA的握手,解锁全光网产业未来
  19. c#访问其他服务器的共享文件夹,C# 实现访问网络共享文件夹
  20. 企查查企业详情爬虫(自动模拟登录企业详情页法律风险爬取)

热门文章

  1. 数据帧,数据包,报文段,报文,分组,数据包的概念和区别
  2. python web django base skill
  3. php内核介绍及扩展开发指南,4.5. 发布扩展信息
  4. docker查看命令帮助手册
  5. 程序人生:给年轻程序员关于开发过程的10条忠告
  6. 计算机系统基础:CPU相关知识笔记
  7. mvc html validator,ASP.NET MVC实现Validation验证器扩展
  8. mysql无法本地连接,本地连接腾讯云Mysql失败问题
  9. php中定义css样式的好处,CSS的优点和缺点分别是什么
  10. SpringBoot 配置多数据源