我目前正在尝试将我的java Web应用程序部署到Openshift上。我的Web应用程序导入Gurobi库,需要Gurobi许可证环境才能运行我的线性编程模型。因此,我一直在努力尝试将许可证安装到openshift linux服务器等
我设法做了一些事情。
我设法更改了设置自定义环境的.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"
上面输入的问题是我相信PATH
& LD_LIBRARY_PATH
,每次我通过shell访问我的应用时,openshift会自动恢复它们。
我认为这导致我的应用程序无法实现GRBENV
对象,这是一个Gurobi Environment对象,用于检查gurobi.lic
文件并使用LD_LIBRARY_FILE
。
之前有人做过类似的事吗?真的需要帮助。
布兰登
答案 0 :(得分:0)
openshift实例化你的app并且ssh shell似乎有所不同。设置环境变量的正确位置是start action_hooks之一。例如,如果您编辑.openshift / action_hooks / start文件并添加:
export PATH =“$ {PATH}:$ {GUROBI_HOME} / bin”
这适用于运行APP的实例,但不适用于SSH Shell。我做了以下测试: echo $ PATH> $ OPENSHIFT_DATA_DIR / PATH
确认可以通过启动挂钩设置运行APP的路径。
我不确定这是否解决了你的问题(因为你提到了SSH shell,我仍然不知道如何设置PATH)。