将dll转换为jar

时间:2013-06-02 19:41:45

标签: java dll jar ikvm

我正在尝试找到一种将dll转换为jar文件的方法。我有一个与java应用程序通信的.net应用程序。核心实体是.net对象,我必须在java中手动复制。 我读过关于IKVM的内容,但它似乎只将jar转换为dll而不是相反。

编辑:如果有一个工具从dll创建java类,它也没关系。 提前致谢

2 个答案:

答案 0 :(得分:4)

没有这样的工具。

dll是一个本机编译的库。这意味着它已编译成机器代码。可能由C / C ++ / C#编译器编译。

jar文件是一个zip文件,其中包含' .class'文件,这些文件是编译为' java虚拟机代码的文件。可能由java / clojure / scala编译器编译。

这是两种截然不同的不相容的东西。

创建这样一个可以进行此翻译的工具并非不可能,但这肯定是一项非常困难的任务,因为它需要从一个机器代码转换到另一个机器代码,并且需要管理多个依赖性解决,不同类型结构等问题。

但是,我想你想要这样做,因为你想在一些java代码中使用DLL。这有点可能,但实际上非常复杂。您需要使用JNI。

看看这个问题,因为它可能会帮助您实现您想要做的事情: Calling C++ dll from Java

答案 1 :(得分:2)

这实际上是一项容易执行的任务。将.dll转换为.jar就像在命令行上使用com4j和几个命令一样简单。

  1. 下载com4j。
  2. 打开命令行并导航到上一步中的com4j目录。
  3. 执行以下命令。
  4. java -jar tlbimp.jar -o outputFolder -p nameOfPackage“pathToFile”

    1. 然后使用以下内容对结果进行jar:

      jar cf desiredJarName.jar folderYouWantJard