我有一个我在Windows上使用的Jar应用程序,它使用一些DLL文件来发送和接收来自它们的消息,所以我试图找到一种方法让它在MacOS上运行,我试图先运行jar看看会发生什么:
java -cp myApp.jar
它一直有效,直到应用程序需要其中一个DLL,所以我得到了这个:
/Users/XXX/Java/bin/myDLL.dll: unknown file type, first eight bytes: 0x4D 0x5A 0x90 0x00 0x03 0x00 0x00 0x00
我找到了一些使用Wine的提示,但我不知道如何转换这些DLL,以便应用程序可以在MacOS上使用它们。
注意:Jar应用程序包含许多工作所需的DLL,GIF和INI文件等文件。
答案 0 :(得分:2)
Java本身是跨平台的,但是诸如DLL之类的本机代码却不是。在任何情况下,您都不希望将Windows DLL直接加载到OS X JVM中并在其中运行任何内容。但是,您可以通过Windows仿真层(例如Crossover Mac或Parallels Desktop)在 Windows JVM中的OS X上运行代码。请注意,这些都是商业产品,与此类别中的大多数其他产品一样,并且操作系统仿真也会产生性能成本。