首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenShift Maven使用的JAVA_HOME不正确

OpenShift Maven使用的JAVA_HOME不正确
EN

Stack Overflow用户
提问于 2016-10-15 04:18:19
回答 1查看 121关注 0票数 1

我已经花了几个小时在这个脚本上,它可以自动重建和更新我在openshift上的程序。我的脚本如下:

起始钩子:

代码语言: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
source $OPENSHIFT_CARTRIDGE_SDK_BASH

nohup /bin/bash $OPENSHIFT_REPO_DIR/diy/abot.sh > $OPENSHIFT_LOG_DIR/diy.log &
client_result "Success!"
exit 0

停止钩子:

代码语言:javascript
复制
#!/bin/bash
source $OPENSHIFT_CARTRIDGE_SDK_BASH
PID=`cat $OPENSHIFT_DATA_DIR/abot.pid`
echo PID: $PID
if kill $PID
then
    exit 0
else
    client_result "App already stoped!"
fi 

运行所有进程的“守护”脚本abot.sh

代码语言:javascript
复制
#!/bin/bash
cd $OPENSHIFT_DATA_DIR
echo $$ > abot.pid
JAVA_HOME=/etc/alternatives/java_sdk_1.8.0
PATH=$JAVA_HOME/bin:$PATH
javac -version
while :
do
    if [ ! -d AbotDir ]
    then
        git clone https://github.com/ArsenArsen/ABot.git AbotDir
    else
        cd AbotDir
        git pull
        cd ..
    fi
    cd AbotDir
    echo $JAVA_HOME \| $PATH
    $JAVA_HOME/bin/javac -version
    $JAVA_HOME/bin/java -version
    mvn -version
    mvn -e -Dmaven.repo.local=$OPENSHIFT_DATA_DIR/.m2/repository
    cd ..
    $JAVA_HOME/bin/java -jar AbotDir/target/ABot-jar-with-dependencies.jar -nl -t TOKEN
    echo "" > $OPENSHIFT_LOG_DIR/diy.log
done

我做了多次测试,所有测试都表明maven正在使用Java7路径,即使它被设置为Java8。其中之一是: JAVA_HOME=/etc/alternatives/java_sdk_1.8.0/;mvn -version;echo $JAVA_HOME,它导致:

EN

回答 1

Stack Overflow用户

发布于 2016-10-15 18:56:07

我不会接受这个答案,但它是这样的:

您可以将maven复制到它自己的目录中,然后编辑启动脚本,这样它就会强制使用Java8。我不接受这个答案的原因是因为它非常老套和浪费。只有在没有其他方法的情况下才能使用。如果有人知道如何做到这一点,请随时回答。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40051364

复制
相关文章

相似问题

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