我制作了一个依赖于某些第三方库的 Java Applet 以及一个通过 JNI 调用的 DLL。这些显然不会安装在客户端计算机上。无论如何,是否可以将这些第三方库和外部 DLL 打包到我的 Applet 的 JAR 中,以便它可以由任何安装了基本 Java 的客户端运行?
最佳答案
在 Web 应用程序中使用 JNI 会导致胃灼热,尤其是在 Windows 中。
- 您显然不能在 WAR 文件中部署 DLL,并且可能需要部署者事先运行一个单独的安装程序。
- 您必须确保您的
java.library.path
设置正确,这通常是通过应用程序服务器中的设置完成的,而不是 WAR 文件中可部署的内容。 - 如果您尝试运行该 Web 应用程序的多个实例,JNI 将 native 类与库链接的方式将导致类加载器头痛。解决此问题的一种方法是将包含的 JAR 文件移动到共享类加载器(如 Tomcat 的公共(public)文件夹),但这有其自身的复杂性。
关于java - 使用第三方依赖项部署 Java Web Applet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3188553/