bat運行Java程序

服務端程序猿在測試時,通常會寫客戶端程序進行服務端代碼的測試,例如給某個角色設置屬性或者添加一些道具。這樣的功能策劃有時也是需要的,但是策劃又不可能使用開發工具去跑客戶端程序,所以這時只能由程序來幫忙寫bat工具了。

1.導出Jar包

首先我們需要將客戶端程序導出爲Jar包,以導出Maven項目爲例:

【右鍵工程】-> 【Export】-> 【選擇Runnable Jar file】,接着進行如下配置:

過程中如果出現warning,那麼我們點擊 OK 忽略即可:

2.DOS下運行Jar包

假設Jar包保存在:E:\GMUtil\GMClient\SetValue

然後我們在此文件路徑下輸入cmd,然後打開dos命令好(自動定位到此此文件位置)

然後輸入命令:

java -jar SetValue.jar 參數1 參數2

則可以在dos下運行我們的Java工程,但是這樣做不是很方便,而且不方便參數的配置。

3.書寫bat文件

bat是Windows下的一個腳本語言,類似於Linux下的shell。

想要創建bat文件,我們需要在jar包所在的路徑下新建一個txt文件,例如在E:\GMUtil\GMClient\SetValue下,新建文件SetValue.txt。

然後對此文件進行編輯如下:

@echo off
echo 加載中..., 如果長時間未響應,按回車鍵.

:: 【注意事項】
::  1.DOS下如果報中文亂碼,則需要將文件轉爲ANSI編碼格式
::  2.屬性設置處, "="兩邊不允許有空格
::  3.參數列表不允許換行,只能在同一行書寫

:: 【ip和port】
set ip=192.168.2.203
set port=9001

:: 【設置uid】
set uid=44934

:: 【屬性:是否爲高級用戶】
set id1=14
set val1=1

:: 【屬性:鑽石數量】
set id2=100
set val2=521

:: 【參數列表】
java -jar SetValue.jar %ip% %port% %uid% %id2% %val2%

pause

4.運行bat文件

編輯好SetValue.txt文件之後,我們需要把它的後綴改爲.bat文件,然後雙擊,運行這個腳本,可以看見程序已經在dos下輸出日誌,當然爲了方便,我們也可以把SetValue.bat發送到桌面作爲快捷方式。

日後我們需要編輯一些參數時,只需要將其改爲.txt文件,然後再改爲.bat文件即可(還是有點麻煩的)。

運行結束後,會在路徑下多出zip和zipstore這兩個文件夾,如下:

5.bat語法簡介

本人並沒有系統的學習過bat語言,這裏只是針對所書寫的SetValue.bat進行簡單的介紹。

5.1基本格式

@echo off

pause

5.2防止在dos上的中文亂碼

如果我們需要輸出一些中文日誌到dos上,那麼我們最好用notepad將編碼轉爲ANSI,步驟如下:

找到notepad上方的菜單欄 -> 【編碼】-> 【轉爲ANSI編碼格式】

5.3bat的輸出

echo 這裏是輸出內容

5.4單行註釋格式

bat的日誌標誌是兩個英文的冒號"::" ,如下所示:

:: 這裏是註釋內容

5.5定義並初始化變量

無論是整型還是字符串,都可以用set關鍵字進行定義,等號後面跟着變量的值,需要注意的是,在進行變量定義時,等號兩邊不能有空格,格式如下:

:: 定義字符串
set ip=192.168.2.203
:: 定義整型
set port=9001

5.6變量的使用

當我們需要使用變量的時候,我們需要用兩個"%",左右將這個變量名括起,格式如下:

:: 輸出ip到控制檯
echo %ip%

5.7指定參數運行bat文件

本人並沒有找到bat讀取配置文件運行jar的方法,所以只能用比較笨的方法,我們知道Java的main函數的形參:String[] args,這個字符串數組是方便我們在控制檯調試用的,那麼爲了動態的獲取配置參數,我只好把參數方法放入這個數組中,然後在main函數的起始處,對args中的參數進行一些邏輯處理,比如根據參數在數組中的index來判斷它是ip或是port還是uid,這種辦法容易出錯,並且不利於維護,大家有什麼好的辦法,歡迎留言,格式如下:

java -jar jar包名.jar %參數1% %參數2% %參數3% %參數4% %參數5%
java -jar SetValue.jar %ip% %port% %uid% %id2% %val2%

6.結語

這樣則方便策劃,也方便我們程序對角色屬性進行設置了,但是寫法還是有缺點的,當參數很多的時候,就會造成java -jar那行命令非常長,這樣很不利於維護,以後有更好的辦法,我會繼續書寫博客和大家分享的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章