1. 程式人生 > >命令列執行java程式,將控制檯日誌儲存到指定檔案

命令列執行java程式,將控制檯日誌儲存到指定檔案

有個程式。命令列啟動命令為

java -verbose sample.DesktopApp
在控制檯看到列印日誌。

將日誌按照日期儲存到指定檔案中,以備查驗。關鍵點在於 2>&1 ,把控制檯異常重定向到標準輸出中。完整批處理如下:

#!/bin/bash

LOG_PATH="../log"$(date +"%Y%m%d%H%M")".txt"
cd desktop
touch ${LOG_PATH}
nohup $(java -verbose sample.DesktopApp    >>  ${LOG_PATH} 2>&1) &
tail -f ${LOG_PATH}

編譯的程式引入第三方類,不知道怎麼打包。先用命令列把每個類包解壓成 .class檔案,然後統一拷貝到指定資料夾下,將這個資料夾做為釋出包給測試用。後期釋出還是要打包成 jar包釋出。解壓第三方jar包的關鍵程式:

find ./ -maxdepth 1 -name "*.jar" | xargs -I FL jar -xvf FL
完整批處理如下:
#!/bin/bash

# 環境變數
. ./env.sh

# version name.
VERSION=${PRODUCT_VERSION}
ROOT_PATH=$(pwd)
DST_PATH="../release/cike_desktop/desktop/"
NOW=$(date +"%Y%m%d%H%M")

if [ ! -d ${DST_PATH} ]
then
    mkdir -p ${DST_PATH}
fi

rsync -az  desktop_startup.bat  $(dirname ${DST_PATH})
rsync -az  desktop_startup.sh  $(dirname ${DST_PATH})


LIBS=( "./core/libs/" \
        "./desktop/libs/")

for LIB in ${LIBS[*]}
do
    rsync -az ${LIB} ${DST_PATH}
done

cd ${DST_PATH}
find ./ -maxdepth 1 -name "*.jar" | xargs -I FL jar -xvf FL
cd ${ROOT_PATH}



SRC_LIST=(  "./out/production/core/" \
            "./out/production/desktop/" \
            "./out/production/df_lib_x/" \
            "./android/assets/" \
            )



for SRC in ${SRC_LIST[*]}
do
    rsync -az ${SRC}  ${DST_PATH}  --progress
done



#if [ "rebuild" == ${1} ]
#then
#    rm -rf ../cike_desktop.zip
ZIP_NAME="cike_desktop_"$VERSION"_"${NOW}.zip
ZIP_PATH="../release/"$ZIP_NAME
zip -r $ZIP_PATH "../release/cike_desktop"

# password: woshixxrl
rsync -az         \
    $ZIP_PATH     \
    
[email protected]
:/mnt/d/shared/release/cike/$ZIP_NAME \ --progress #fi


相關推薦

命令執行java程式控制檯日誌儲存指定檔案

有個程式。命令列啟動命令為 java -verbose sample.DesktopApp在控制檯看到列印日誌。 將日誌按照日期儲存到指定檔案中,以備查驗。關鍵點在於 2>&1 ,把控制檯異常重定向到標準輸出中。完整批處理如下: #!/bin/bash

在Windows命令執行java程式

1;前提以配置好環境了。jdk安裝完畢了。 2;先建立txt檔案,敲好程式碼;在這裡有個注意的地方,要注意你的txt是否顯示出來,如果沒有顯示出來那就是設定隱藏了檔案字尾名一定要顯示出來, 怎麼看是否隱藏字尾名; 敲程式碼; 3;更改檔名,(

Centos命令執行Java程式(引入外部Jar)

本文講的東西比較膚淺,高手們請路過,有不準確的地方,歡迎交流指正。 最近在windows下寫了一個java程式,需要拿到centos系統中執行,本人在虛擬機器上安裝了centos系統,鼓搗了半天,翻閱了一下資料,有些東西記錄一下,以便自己查閱,供有有興趣人蔘考。 首先,確

本地終端命令執行Java程式(mac)

下載JDK 下載JDK 設定環境變數(mac) 建立(開啟)使用者環境配置檔案 # 進入使用者根路徑 cd ~ # -l:檢視許可權,-f:檢視所有檔案(包含隱藏檔案) ls -lf # 修改.

命令執行java程式(windows環境下)

首先要說明以下,本人寫博不多,原來在Iteye寫一些自己遇到的問題,但發現它的編輯工具真是太落後了,格式經常出問題不說, 它的可見既所得編寫模式就是shit,編寫完之後格式亂的一沓糊塗。 所以,移到CSDN來吧,雖然作為一個JAVA programmer,原來的jav

命令執行Java程式載入指定目錄中的Jar檔案

經常遇到需要新增第三方jar檔案的情況。在命令列狀態下要載入外部的jar檔案非常麻煩,很不好搞,在網上折騰了很久終於搞定了,在這裡做個筆記: 編譯:javac -Djava.ext.dirs=./lib Test.java執行:java -Djava.ext.dirs=./

cmd命令執行java程式的編譯和執行的方法及可能出現找不到或無法載入主類的錯誤的解決

首先我們經常在用cmd命令列編譯和執行java程式時,我們的java程式呼叫了第三方的jar包,那麼編譯和執行的方法有兩種: 方法1: 編譯:javac -Djava.ext.dirs=E:\

Windows用命令執行java專案(程式

由於需要,要在命令列裡執行java專案。首先電腦上得有jdk,這是必要的條件。其次,你就可以新建一個專案資料夾,比如叫做ShowTime,然後再新建一個src資料夾(只是方便管理,並不一定需要這樣),這時,就可以在裡面新建一個java檔案了。 import

使用命令java程式的編譯執行和打包

0x00 背景 我們平時使用了在有IDE的環境下編寫程式碼,編譯的工作會由IDE自動完成,這樣方便了我們工作,但是卻使我們忽略了程式碼是如何執行的本質,或者當電腦上只有jre環境,沒有開發環境,就需要在cmd環境下進行java程式的編譯和執行,本文詳細介紹瞭

Ubuntu命令執行C程式和C++程式

首先Ctrl + T 開啟一個終端,cd到你建立C/C++檔案的目錄下。 下面以建立 helloc.c 和 hellocpp.cpp 進行演示 vim helloc.c 按 i 進入插入操作,然後寫C程式碼: #include<stdio.h> int

Python 命令執行指令碼時提示匯入的包找不到

在Pydev能正常執行的指令碼,在匯出後在命令列執行,通常會報自己寫的包匯入時找不到。 一:報錯原因 在PyDev中,test.py 中匯入TestUserCase裡面的py檔案時,會寫: from TestUserCase.Test import Test 這在命Pydev中沒錯,

命令執行C++程式帶來的思考(C++學習筆記 26)

我的電腦是Win10 x64位,裝有編譯程式的軟體有CodeBlocks和Dev-C++。 我想用windows的cmd命令列來帶引數地進行編譯C++程式碼。但是網上說下載MinGw,但這個MinGw是幹什麼用的? 首先了解以下概念: IDE: 整合開發環境(IDE,Integr

怎麼用命令執行.java檔案

第一步 假如在e盤裡有個資料夾名為Java,在Java資料夾裡有一個事先寫好的.java程式,如下: 第二步 開啟命令列視窗(Window+R),輸入cmd,點確定,如下: 第三步 轉到HelloWorld.java檔案所在的資料夾。 (1)檔案在E盤,首先輸入

C#呼叫命令執行python指令碼這個辦法可以呼叫python第三方模組和對本地檔案進行操作

string pythonScriptPath = Server.MapPath(@"~\pythonScript");//python指令碼所在的目錄 ProcessStartInfo start = new Pro

【程式碼重構 & JDT】Windows命令執行Java檔案陷入死迴圈解決辦法

通過修改某個Java檔案的AST節點生成n個新程式,然後用測試用例分別對這n個新程式進行執行。但是在執行過程中,發現有些新生成的新程式會陷入死迴圈的情況,後臺的java.exe一直在執行。解決方法是:設定每個程式最長執行時間為10秒,超時後,再使用命令列的形式殺掉後臺的java.exe程序。程式

用cmd命令編譯JAVA程式時出現“找不到或無法載入主類”

檢查環境變數配置: JAVA_HOME:D:\Java\jdk1.8.0_91 CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有英文點號) Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

命令編譯Java程式

本文介紹如何在windows系統的命令列內編譯執行一個有輸入的簡單Java程式。 示例中,輸入“Alice”,輸出“hi, Alice. How are you?” 1 新建一個文字文件,寫入如下程式碼。在 E:\program\JavaTestCode 位置另存為Hi.java檔案。

編寫一個Java程式一個二維陣列轉置後輸出

編寫一個程式,講一個3*3的陣列進行轉置 如 程式如下: import java.util.Arrays; public class array { public static void main(String[] args) { int[][] a1={

dos命令執行java程式(連結mysql為例子)

1 說明 使用了阿里雲的Windows版的伺服器,想在上面執行連線資料庫的Java程式,然後就不知道,怎麼執行起來。我是直接把eclipse中的檔案拷到伺服器上的。所有的.class 檔案已經編譯完成,只是不知道怎麼在伺服器上執行起來。 問題點1 :找不到要

linux java程序後臺啟動並輸出日誌指定檔案

linux 中讓java程序以後臺形式執行,並輸出日誌到指定檔案中。 舉例: 現在linux /home/pro/application/monitor下有一個jar包叫zop-monitor-web