我正在尝试将我的应用程序部署到在线网络服务器上(到目前为止,我一直在使用 heroku,但我对其他服务持开放态度)。
我正在使用 IntelliJ
并制作了一个 Spring 应用程序(使用 Tomcat 7 运行)。我的应用程序的要求之一是运行一些 C
代码。我研究了 JNI,并成功地从我的 C
代码中编译了一个 .so
库。
一切都在本地完美运行。为了让 IntelliJ
正确加载 .so
库,我将它放在 IntelliJ
的 bin/
目录中(我认为还有一些方法可以使用 VM 选项 -Djava.library.path
将 Tomcat
定向到包含 .so 文件的目录)。
我的问题是:在知道我需要 Tomcat 来加载 JNI 库的情况下,我应该如何继续尝试将我的应用程序放到网上?
最佳答案
在 Web 服务器堆栈下使用 JNI 是不明智的;如果任何 native 代码炸弹,它将导致整个网络服务器瘫痪。
如果您确实需要本地代码,另一种方法是将该代码作为独立应用程序运行,并带有公开的 RMI 接口(interface)。
关于tomcat - 如何将 .war 文件和 jni 库文件部署到 Web 服务器上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19074316/