[英]Openshift DIY java
In my DIY Java I have this in my action_hooks start shell 在我的DIY Java中,我的action_hooks启动外壳中有这个
cd $OPENSHIFT_DATA_DIR
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0
export PATH=$JAVA_HOME/bin:$PATH
libs="libs"
export LIB=$OPENSHIFT_REPO_DIR$libs
src="src"
export JAVA_FILES=$OPENSHIFT_REPO_DIR$src
export MATCHFACES=$OPENSHIFT_REPO_DIR$src/matchfaces
cd $OPENSHIFT_REPO_DIR
if [[ -z "$OPENSHIFT_INTERNAL_IP" ]]; then export OPENSHIFT_INTERNAL_IP="$OPENSHIFT_DIY_IP"; fi
if [[ -z "$OPENSHIFT_INTERNAL_PORT" ]]; then export OPENSHIFT_INTERNAL_PORT="$OPENSHIFT_DIY_PORT"; fi
nohup dir $LIB > ${OPENSHIFT_DIY_LOG_DIR}/output1.log 2>&1 &
nohup javac -classpath .;$LIB/JavaBridge.jar;$LIB/FaceSDK.jar;$LIB/jna.jar $MATCHFACES/*.java > ${OPENSHIFT_DIY_LOG_DIR}/compile.log 2>&1 &
nohup java -classpath .;$LIB/JavaBridge.jar;$LIB/FaceSDK.jar;$LIB/jna.jar $MATCHFACES/Listener > ${OPENSHIFT_DIY_LOG_DIR}/Listener.log 2>&1 &
but the code above gives me pemission denied error. 但是上面的代码给了我拒绝拒绝的错误。 from the shell above, I am trying to access a libs folder I uploaded to my repository that conatins the external dependencies my java application needs. 从上面的外壳程序中,我试图访问我上载到存储库的libs文件夹,该文件夹延续了Java应用程序所需的外部依赖关系。 Can anyone explain why and how to get rid of that error. 谁能解释为什么以及如何摆脱该错误。
The error s below 错误如下
remote: /var/lib/openshift/586b985a89f5cfe9fa0000bc/app-root/runtime/repo//.openshift/action_hooks/start: line 32: /var/lib/openshift/586b985a89f5cfe9fa0000bc/app-root/runtime/repo/libs/JavaBridge.jar: Permission denied remote: /var/lib/openshift/586b985a89f5cfe9fa0000bc/app-root/runtime/repo//.openshift/action_hooks/start: line 32: /var/lib/openshift/586b985a89f5cfe9fa0000bc/app-root/runtime/repo/libs/FaceSDK.jar: Permission denied 远程:/var/lib/openshift/586b985a89f5cfe9fa0000bc/app-root/runtime/repo//.openshift/action_hooks/start:第32行:/ var / lib / openshift / 586b985a89f5cfe9fa0000bc / app-root / runtime / repo / libs / JavaBridge .jar:拒绝权限远程:/var/lib/openshift/586b985a89f5cfe9fa0000bc/app-root/runtime/repo//.openshift/action_hooks/start:第32行:/ var / lib / openshift / 586b985a89f5cfe9fa0000bc / app-root / runtime / repo / libs / FaceSDK.jar:权限被拒绝
Automatically it seems like custom files in custom folder are not given excute permissions in runtime during execution. 自动地,自定义文件夹中的自定义文件似乎在执行期间没有在运行时授予执行权限。 I realized this by running ls -l
on y libs folder. 我是通过在y libs文件夹上运行ls -l
来实现的。
so I fixed this error by add this code to by start shell script. 所以我通过在启动shell脚本中添加此代码来解决此错误。
#!/bin/bash
# The logic to start up your application should be put in this
# script. The application will work only if it binds to
# $OPENSHIFT_DIY_IP:8080
# nohup $OPENSHIFT_REPO_DIR/diy/testrubyserver.rb $OPENSHIFT_DIY_IP $OPENSHIFT_REPO_DIR/diy |& /usr/bin/logshifter -tag diy &
cd $OPENSHIFT_DATA_DIR
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0
export PATH=$JAVA_HOME/bin:$PATH
libs="libs"
export LIB=$OPENSHIFT_REPO_DIR$libs
src="src"
export JAVA_FILES=$OPENSHIFT_REPO_DIR$src
export MATCHFACES=$OPENSHIFT_REPO_DIR$src/matchfaces
# the below is not working
# export CLASSPATH=$OPENSHIFT_REPO_DIR/bin:$OPENSHIFT_REPO_DIR/libs/FaceSDK.jar:$OPENSHIFT_REPO_DIR/libs/jna.jar:$OPENSHIFT_REPO_DIR/libs/JavaBridge.jar
cd $LIB
# Giving read write and execute permissions to JavaBridge.jar for user role
chmod u+r JavaBridge.jar
chmod u+w JavaBridge.jar
chmod u+x JavaBridge.jar
# Giving read write and execute permissions to JavaBridge.jar for groups role
chmod g+r JavaBridge.jar
chmod g+w JavaBridge.jar
chmod g+x JavaBridge.jar
# Giving read write and execute permissions to JavaBridge.jar for Others role
chmod o+r JavaBridge.jar
chmod o+w JavaBridge.jar
chmod o+x JavaBridge.jar
# Giving read write and execute permissions to FaceSDK.jar for user role
chmod u+r FaceSDK.jar
chmod u+w FaceSDK.jar
chmod u+x FaceSDK.jar
# Giving read write and execute permissions to FaceSDK.jar for groups role
chmod g+r FaceSDK.jar
chmod g+w FaceSDK.jar
chmod g+x FaceSDK.jar
# Giving read write and execute permissions to FaceSDK.jar for Others role
chmod o+r FaceSDK.jar
chmod o+w FaceSDK.jar
chmod o+x FaceSDK.jar
# Giving read write and execute permissions to jna.jar for user role
chmod u+r jna.jar
chmod u+w jna.jar
chmod u+x jna.jar
# Giving read write and execute permissions to jna.jar for groups role
chmod g+r jna.jar
chmod g+w jna.jar
chmod g+x jna.jar
# Giving read write and execute permissions to FaceSDK.jar for Others role
chmod o+r jna.jar
chmod o+w jna.jar
chmod o+x jna.jar
nohup ls -l > ${OPENSHIFT_DIY_LOG_DIR}/output1.log 2>&1 &
cd $OPENSHIFT_REPO_DIR
if [[ -z "$OPENSHIFT_INTERNAL_IP" ]]; then export OPENSHIFT_INTERNAL_IP="$OPENSHIFT_DIY_IP"; fi
if [[ -z "$OPENSHIFT_INTERNAL_PORT" ]]; then export OPENSHIFT_INTERNAL_PORT="$OPENSHIFT_DIY_PORT"; fi
# nohup dir $LIB > ${OPENSHIFT_DIY_LOG_DIR}/output1.log 2>&1 &
nohup javac -classpath .;$LIB"/JavaBridge.jar;"$LIB"/FaceSDK.jar;"$LIB"/jna.jar" $MATCHFACES/*.java > ${OPENSHIFT_DIY_LOG_DIR}/compile.log 2>&1 &
nohup java -classpath .;$LIB"/JavaBridge.jar;"$LIB"/FaceSDK.jar;"$LIB"/jna.jar" $MATCHFACES/Listener > ${OPENSHIFT_DIY_LOG_DIR}/Listener.log 2>&1 &
# nohup java -cp bin test.MyHttpServer > ${OPENSHIFT_DIY_LOG_DIR}/MyHttpServer.log 2>&1 &
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.