gpt4 book ai didi

java - OpenShift Maven 没有使用正确的 JAVA_HOME

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:06 25 4
gpt4 key购买 nike

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

开始 Hook :

#!/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

停止 Hook :

#!/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,被“守护进程”的脚本,运行所有进程

#!/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结果是: valid XHTML

最佳答案

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

您可以将 maven 复制到它自己的目录中,然后编辑启动脚本以强制使用 Java8。我不接受这个答案的原因是因为它非常 hacky 和浪费。仅在没有其他方法时使用。对于任何知道如何执行此操作的人,请随时回答。

关于java - OpenShift Maven 没有使用正确的 JAVA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40051364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com