java - OPENSHIFT 编辑 LD_LIBRARY_PATH & PATH 进行环境设置

标签 java linux openshift gurobi

我目前正在尝试将我的 Java Web 应用程序部署到 Openshift 上。我的 Web 应用程序导入了 Gurobi 库,它需要 Gurobi 许可环境才能运行我的线性规划模型。因此,我一直在尽一切努力将许可证安装到 openshift linux 服务器等

我已经成功完成了一些事情。

  1. 我已通过 SSH 连接到我的应用程序并将 openshift linux 平台的主机名注册到许可证。
  2. 我已经设法更改了设置自定义环境的 .bash_profile 文件。以下是我放入文件中的输入。

    export GUROBI_HOME="/var/lib/openshift/54d4e281e0b8cd3a1400015c/jbossews/gurobi600/linux64"
    export PATH="${PATH}:${GUROBI_HOME}/bin"
    export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"
    export GRB_LICENSE_FILE="/var/lib/openshift/54d4e281e0b8cd3a1400015c/jbossews/gurobi.lic"
    

上面输入的问题是,我相信对于 PATHLD_LIBRARY_PATH,每次我通过 shell 访问我的应用程序时,openshift 都会自动恢复它们。

我认为这导致我的应用程序无法实例化一个 GRBENV 对象,它是一个检查 gurobi.lic 文件并使用 的 Gurobi 环境对象>LD_LIBRARY_FILE

有没有人做过类似的事情?在这方面确实需要帮助。

布兰登

最佳答案

openshift 实例化您的应用程序和 ssh shell 的方式似乎有所不同。设置环境变量的正确位置是启动 action_hooks 之一。例如,如果您编辑 .openshift/action_hooks/start 文件并添加:

export PATH="${PATH}:${GUROBI_HOME}/bin"

这适用于运行您的 APP 的实例,但不适用于 SSH Shell。我做了以下测试: 回显 $PATH > $OPENSHIFT_DATA_DIR/PATH

确认启动钩子(Hook)可以设置运行APP的路径。

我不确定这是否能解决您的问题(因为您提到了 SSH shell,但我仍然不知道如何为此设置 PATH)。

关于java - OPENSHIFT 编辑 LD_LIBRARY_PATH & PATH 进行环境设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28720935/

相关文章:

java - 如何使用另一个类中的字符串数组?

java - Spring 批处理 : Write a List to a database table using a custom batch size

php - 合并音频文件

mysql - openshift mysql无法启动mysql

tomcat - Openshift 中的 https diy

java - HTTP 请求以垃圾字符响应

java - Hibernate 添加到 List 时重新创建连接表

linux - 没有管理员或 sudo 访问权限的 Logrotate - linux

linux - 如何列出该脚本的输出路径?

kubernetes - 没有自定义指标的水平Pod自动缩放