首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openshift DIY java

Openshift DIY java
EN

Stack Overflow用户
提问于 2017-01-05 15:37:52
回答 1查看 80关注 0票数 0

在我的DIY中,我把这个放在我的action_hooks启动程序中

代码语言:javascript
复制
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拒绝的错误。从上面的shell中,我试图访问一个我上传到我的存储库的libs文件夹,该文件夹包含了我的java应用程序所需要的外部依赖项。有人能解释一下为什么以及如何消除这个错误吗。

错误在下面

远程: /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:权限被拒绝

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-12 07:59:54

自动地,似乎自定义文件夹中的自定义文件在执行过程中不会在运行时被授予excute权限。我通过在y libs文件夹上运行ls -l实现了这一点。

因此,我通过将这段代码添加到start shell脚本来修正这个错误。

代码语言:javascript
复制
#!/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 &
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41488913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档