在Linux下从Java访问Windows dll(可能通过Wine)
我已经通过以下方法在Linux下运行了JavaFX2.0。通过使用Wine运行Windows版本的Java,它可以很好地工作。此Java进程可以获取Windows版本JavaFX的本机.dll文件 现在,我想知道是否有一种不同的解决方案运行Linux版本的Java,但通过Wine访问.dll文件 以图形方式总结:在Linux下从Java访问Windows dll(可能通过Wine),java,linux,java-native-interface,wine,winelib,Java,Linux,Java Native Interface,Wine,Winelib,我已经通过以下方法在Linux下运行了JavaFX2.0。通过使用Wine运行Windows版本的Java,它可以很好地工作。此Java进程可以获取Windows版本JavaFX的本机.dll文件 现在,我想知道是否有一种不同的解决方案运行Linux版本的Java,但通过Wine访问.dll文件 以图形方式总结: 有效:Wine->Java(win)->DLL(win) 我要问的是:Java(linux)->Wine->DLL(win) 我为什么要这么做 我希望让应用程序像其他Java应用程
- 有效:Wine->Java(win)->DLL(win)
- 我要问的是:Java(linux)->Wine->DLL(win)
我希望让应用程序像其他Java应用程序一样启动,只需要安装Wine。已经开始工作的解决方案需要Wine安装和Windows版本的Java。我怀疑Wine会使
.dll
看起来像。因此
Wine通过创建模拟环境来工作,应用程序必须在该环境中运行才能工作
你应该能做的是
Java(linux) -- socket --> Java(Wine) -- loads --> DLL(win)
这仍然需要Windows版本的Java。但这是一个好主意。您可以减少两个版本之间的重复。即使DLL必须在运行windows的虚拟机或另一个运行windows的框中运行,这种方法也可以工作。这意味着您的主JVM可以使用32位DLL实现64位。在我的例子中,.DLL将生成GUI内容并使用GPU。因此,它应该在运行应用程序的机器上执行。关于你的第一条评论:你知道我在哪里可以读到如何剥离Windows JRE以与Wine和Linux JRE一起使用吗?我正在考虑查找相同的文件,并使用符号链接或硬链接。有用于查找重复文件的工具。e、 g.许多罐子应该是相同的,或者可以做成相同的。