tomcat - 如何将 .war 文件和 jni 库文件部署到 Web 服务器上?

标签 tomcat heroku intellij-idea java-native-interface web-deployment

我正在尝试将我的应用程序部署到在线网络服务器上(到目前为止,我一直在使用 heroku,但我对其他服务持开放态度)。

我正在使用 IntelliJ 并制作了一个 Spring 应用程序(使用 Tomcat 7 运行)。我的应用程序的要求之一是运行一些 C 代码。我研究了 JNI,并成功地从我的 C 代码中编译了一个 .so 库。

一切都在本地完美运行。为了让 IntelliJ 正确加载 .so 库,我将它放在 IntelliJbin/ 目录中(我认为还有一些方法可以使用 VM 选项 -Djava.library.pathTomcat 定向到包含 .so 文件的目录)。

我的问题是:在知道我需要 Tomcat 来加载 JNI 库的情况下,我应该如何继续尝试将我的应用程序放到网上?

最佳答案

在 Web 服务器堆栈下使用 JNI 是不明智的;如果任何 native 代码炸弹,它将导致整个网络服务器瘫痪。

如果您确实需要本地代码,另一种方法是将该代码作为独立应用程序运行,并带有公开的 RMI 接口(interface)。

关于tomcat - 如何将 .war 文件和 jni 库文件部署到 Web 服务器上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19074316/

相关文章:

java - 无法将 servlet 添加到 Tomcat web.xml

grails - 简单的 Grails 应用程序超出了 Heroku 内存配额

intellij-idea - 如何在无干扰模式下添加打开文件选项卡

tomcat - 无法使用 Puppet 在 Tomcat 上部署 Solr

java - servlet 接收到的 OutputStream 为空

ruby-on-rails - 使用 redis ruby​​ gem,如何从匹配模式的 redis 中清除一组键?

node.js - 仅将 worker dyno 部署到 heroku(用于 firebase-queue)

java - HttpClientBuilder() 在 Java IDE 中抛出错误,因为“HttpsClientBuilder() 在 org.apache.http.impl.client.HttpClient.Builder 中的访问受到保护”

java - Intellij找不到commons.dbcp2

tomcat - 在静态 IP 地址上运行我的应用程序