我正在尝试找到一种将 dll 转换为 jar 文件的方法。我有一个与 java 应用程序通信的 .net 应用程序。核心实体是我必须在 java 中手动复制的 .net 对象。我读过有关 IKVM 的信息,但它似乎只将 jar 转换为 dll,而不是相反。
编辑:如果有一个从 dll 创建 java 类的工具也可以。提前致谢
没有这样的工具。
dll 是本机编译的库。这意味着它被编译成机器代码。可能由 C/C++/C# 编译器编译。
jar 文件是一个包含“.class”文件的 zip 文件,这些文件是编译成“java 虚拟机代码”的文件。可能由 java/clojure/scala 编译器编译。
这是两个截然不同的不相容的东西。
创建这样一个可以进行这种翻译的工具并非不可能,但这肯定是一项极其艰巨的任务,因为它需要从一种机器代码转换为另一种机器代码,并且需要管理多个问题,例如依赖关系解决、不同类型结构等
但是,我想你想这样做是因为你想在一些 java 代码中使用 DLL。这有点可能,但实际上相当复杂。您需要使用 JNI。
看看这个问题,因为它可能会帮助您实现您想要做的事情: Calling C++ dll from Java
这实际上是一项容易执行的任务。将 .dll 转换为 .jar 就像使用 com4j 和命令行上的几个命令一样简单。
java -jar tlbimp.jar -o outputFolder -p nameOfPackage "pathToFile"
然后使用以下内容 jar 结果:
jar cf desiredJarName.jar 文件夹YouWantJard