如果我安装了新库,我的应用程序是否仍可移植?

时间:2018-08-19 18:00:55

标签: java javafx portability

我正在用Java(JavaFX)编写宏脚本程序。我想添加全局键盘侦听器,以便在程序不集中时与其进行交互。我听说过JNativeHook,它看起来很有用。我的问题是,如果我决定使用此库,我的代码是否仍可移植?我还能在不要求其他人安装其他东西的情况下将其分发给其他人吗?

2 个答案:

答案 0 :(得分:0)

您绝对可以在可移植的应用程序中包含本机库,只要您的代码可以找到有问题的DLL,并将它们与软件捆绑在一起即可。我个人在便携式应用程序中使用SIGAR,并且只要相对路径保持不变(取决于您加载DLL的方式),它就可以正常工作。

******编辑******

如果您仍然在Windows环境中,并且确实在谈论DLL文件,那么当然是这样。如果您的意思是其他JAR文件,除了JAR文件随附的Java代码外,不需要其他任何内容,那么您的应用程序也将是完全可移植的,跨平台的。那就是我喜欢Java的原因,我曾经在Windows上开发了一个大型应用程序,并且无需进行任何修改就可以移植到Ubuntu。

答案 1 :(得分:0)

如果您不需要为任何使用不同平台的不同设备提供任何特殊绝缘,则可以使您的应用程序具有可移植性,因此在您的情况下,您要求JNativeHook的库需要在此处https://github.com/kwhat/jnativehook#software-and-hardware-requirements中提及。您必须根据用户所使用的平台向用户提供指导,以具有这些要求。