如何使用 OPENSHIFT_DATA_DIR 环境变量在 Openshift 应用程序中引用自定义文件
How to reference a custom file in Openshift application using OPENSHIFT_DATA_DIR environment variable
我使用以下墨盒创建了一个名为 "java" 的 openshift 应用程序:
- Tomcat6(JBossEWS 1.0)
- Cron 1.4
我已将应用程序拉入我的本地目录并添加了目录 "lib" 和我的可执行文件 "testapp.jar".
..\java\src\main\webapp\lib\testapp.jar
我添加了一个名为 "java"
的 'minutely' cron 作业文件
..\java.openshift\cron\minutely\java
我成功提交了目录和 cron 文件。
但是 cron 作业始终无法找到并执行 testapp.jar.
我尝试了以下两个脚本:
java -jar $OPENSHIFT_HOMEDIR/src/main/lib/testapp.jar
java -jar $OPENSHIFT_REPO_DIR/lib/testapp.jar
都没有用,我不断收到一条消息说 testapp.jar 找不到。
很明显,我的参考是不正确的。
显然,我应该使用 OPENSHIFT_DATA_DIR 因为它是唯一的持久目录。
我想寻求有关 cron 脚本的帮助,因为我在引用(执行)我的 testapp.jar.
时运气不佳
任何人都可以给我一个示例,说明如何使用 OPENSHIFT_DATA_DIR 环境变量正确引用 testapp.jar 吗?
我最终使用了 $OPENSHIFT_REPO_DIR 环境变量,它引用了本地机器上应用程序的根目录。是包含.git和.openshift子目录的目录。
我创建了以下分钟的 cron 文件:
..\java.openshift\cron\minutely\java
cd $OPENSHIFT_REPO_DIR java -jar
$OPENSHIFT_REPO_DIR/src/main/webapp/lib/testapp.jar
现在我可以 运行 一个 jar 文件并安排执行该 jar 文件。
一个补充说明。确保使用 jre 1.7 编译代码,因为我遇到了异常:
Exception in thread "main" java.lang.UnsupportedClassVersionError: App : Unsupported major.minor version 52.0 when I compiler the code using jre 1.8.
Java OpenShift 使用 OpenJDK 1.7。
source:
OpenShift 分别对 Tomcat 6 和 7 使用 JBoss EWS 1.0 和 2.0。 EWS 是 Apache Tomcat 的加固和 Red Hat 支持版本。两个版本都使用 Java OpenJDK 1.7.
我使用以下墨盒创建了一个名为 "java" 的 openshift 应用程序:
- Tomcat6(JBossEWS 1.0)
- Cron 1.4
我已将应用程序拉入我的本地目录并添加了目录 "lib" 和我的可执行文件 "testapp.jar".
..\java\src\main\webapp\lib\testapp.jar
我添加了一个名为 "java"
的 'minutely' cron 作业文件..\java.openshift\cron\minutely\java
我成功提交了目录和 cron 文件。 但是 cron 作业始终无法找到并执行 testapp.jar.
我尝试了以下两个脚本:
java -jar $OPENSHIFT_HOMEDIR/src/main/lib/testapp.jar
java -jar $OPENSHIFT_REPO_DIR/lib/testapp.jar
都没有用,我不断收到一条消息说 testapp.jar 找不到。
很明显,我的参考是不正确的。 显然,我应该使用 OPENSHIFT_DATA_DIR 因为它是唯一的持久目录。
我想寻求有关 cron 脚本的帮助,因为我在引用(执行)我的 testapp.jar.
时运气不佳任何人都可以给我一个示例,说明如何使用 OPENSHIFT_DATA_DIR 环境变量正确引用 testapp.jar 吗?
我最终使用了 $OPENSHIFT_REPO_DIR 环境变量,它引用了本地机器上应用程序的根目录。是包含.git和.openshift子目录的目录。
我创建了以下分钟的 cron 文件:
..\java.openshift\cron\minutely\java
cd $OPENSHIFT_REPO_DIR java -jar
$OPENSHIFT_REPO_DIR/src/main/webapp/lib/testapp.jar
现在我可以 运行 一个 jar 文件并安排执行该 jar 文件。
一个补充说明。确保使用 jre 1.7 编译代码,因为我遇到了异常:
Exception in thread "main" java.lang.UnsupportedClassVersionError: App : Unsupported major.minor version 52.0 when I compiler the code using jre 1.8.
Java OpenShift 使用 OpenJDK 1.7。
source: OpenShift 分别对 Tomcat 6 和 7 使用 JBoss EWS 1.0 和 2.0。 EWS 是 Apache Tomcat 的加固和 Red Hat 支持版本。两个版本都使用 Java OpenJDK 1.7.