6

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

编辑:如果有一个从 dll 创建 java 类的工具也可以。提前致谢

4

2 回答 2

5

没有这样的工具。

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

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

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

创建这样一个可以进行这种翻译的工具并非不可能,但这肯定是一项极其艰巨的任务,因为它需要从一种机器代码转换为另一种机器代码,并且需要管理多个问题,例如依赖关系解决、不同类型结构等

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

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

于 2013-06-03T08:49:06.227 回答
2

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

  1. 下载 com4j。
  2. 在上述步骤中打开命令行并导航到 com4j 目录。
  3. 执行以下命令。

java -jar tlbimp.jar -o outputFolder -p nameOfPackage "pathToFile"

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

    jar cf desiredJarName.jar 文件夹YouWantJard

于 2015-08-05T19:32:26.693 回答