亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不同路徑下shell腳本啟動java程序時項目根目錄問題

不同路徑下shell腳本啟動java程序時項目根目錄問題

慕森王 2019-01-17 18:58:46
問題描述 將java項目打成tar.gz格式, 然后再Linux上解壓縮, 文件目錄: ./ -conf/ -bin/ -startup.sh -lib/ -logs/ -README.md 我執行./bin/startup.sh啟動java程序.但是, 煩人的是: 啟動腳本時路徑不同, 項目的根目錄就會不同. tar根目錄下執行sh bin/startup.sh時, java會將tar包根目錄作為項目根目錄. 代碼中new File("logs/xx.log"), 會生成./logs/xx.log, 這是想要的預期效果. 但是, 擋在./bin/下執行sh startup.sh時, new FIle("logs/xx.log")就會在./bin/logs/下產生xx.log文件. 這顯然不是想要的效果, 很惱人. startup.sh #!/bin/bash current_path=`pwd` case "`uname`" in Linux) bin_abs_path=$(readlink -f $(dirname $0)) ;; *) bin_abs_path=`cd $(dirname $0); pwd` ;; esac echo "腳本位置: $bin_abs_path" #base=${bin_abs_path}/.. base=$(dirname $(cd `dirname $0`;pwd)) echo "base path: $base" export LANG=en_US.UTF-8 export BASE=$base #can't run repeatedly if [ -f $base/bin/addr.pid ] ; then echo "found bin/addr.pid , Please run stop.sh first ,then startup.sh" 2>&2 exit 1 fi ## set java path if [ -z "$JAVA" ] ; then JAVA=$(which java) fi str=`file $JAVA_HOME/bin/java | grep 64-bit` if [ -n "$str" ]; then JAVA_OPTS="-server -Xms1024m -Xmx1536m -Xmn256m -XX:SurvivorRatio=2 -XX:PermSize=96m -XX:MaxPermSize=256m -Xss256k -XX:-UseAdaptiveSizePolicy -XX:MaxTenuringThreshold=15 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError" else JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=128m " fi JAVA_OPTS=" $JAVA_OPTS -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8" for i in $base/lib/*; do CLASSPATH=$i:"$CLASSPATH"; done #$JAVA $JAVA_OPTS -classpath .:$CLASSPATH com.jfai.addr.StartUp 1>>$base/bin/nohup.out 2>&1 & $JAVA $JAVA_OPTS -classpath .:$CLASSPATH com.jfai.addr.StartUp 1>$base/bin/nohup.out 2>&1 & echo $! > $base/bin/addr.pid echo "Process addr is running..., pid=$!" cd $current_path
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 927 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號