バッチによるjava jarプログラムの起動
私たちの多くの機能はプログラムを作って起動する必要があるかもしれません.起動方法はコマンドラインで叩くことにほかならありません.java-jar xxx.JAr[パラメータ1,パラメータ2].これは簡単ですが、ちょっと不便なところがあります.
次に、バッチスクリプトを書くことでjarプログラムの起動を実習する方法についてお話しします.
まず、libディレクトリの下に置くと、プロファイルconf.propertiesがconfディレクトリの下にあり、起動スクリプトがbinディレクトリの下に置かれるように、独自のjarパッケージとその依存jarパッケージが必要です.
次に、startという名前のスクリプトを作成します.bat :
このように簡単な判断により環境の検出を実現し,環境が満たされると運転を継続する.
我々のjarパケットはlog 4 jの構成を用いており,パラメータ伝達方式は-D,java内部でこのパラメータを取得することでSystemを通過することができる.getProperty(「config.path」)で取得し、-Dでない場合は直接転送する、-config.path=xxxでは,コード内で取得する方式はmainメソッドのargs配列パラメータで取得する.
次は私たちの主なクラスですcom.coreware.kafka.KafkaConsumer .ここで注意しなければならないのは、-D伝達パラメータは主クラスの前に置くべきであり、直接伝達は主クラスの後ろに置くべきである.
次に、バッチスクリプトを書くことでjarプログラムの起動を実習する方法についてお話しします.
まず、libディレクトリの下に置くと、プロファイルconf.propertiesがconfディレクトリの下にあり、起動スクリプトがbinディレクトリの下に置かれるように、独自のjarパッケージとその依存jarパッケージが必要です.
次に、startという名前のスクリプトを作成します.bat :
@echo off
set BASE_HOME=%cd%\..
set JAVA="Z:\base\tools\JDK\jdk7_71\bin\java.exe"
set JAVA_OPTS=-Xmx512m
set CONF="%BASE_HOME%\conf\conf.properties"
if not exist "%BASE_HOME%\lib\Kafka2syslog*.jar" (
@echo " KAFKA2SYSLOG_HOME "
@pause
exit
)
if not exist %JAVA% (
@echo " JDK, JDK1.6-64 "
@pause
exit
)
if not exist %CONF% (
@echo " conf.properties"
@pause
exit
)
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
%JAVA% %JAVA_OPTS% -Dlog4j.configuration=file:///%BASE_HOME%/conf/log4j.properties -cp "%BASE_HOME%\lib\*" -Dconfig.path=%CONF% com.coreware.kafka.KafkaConsumer
このように簡単な判断により環境の検出を実現し,環境が満たされると運転を継続する.
我々のjarパケットはlog 4 jの構成を用いており,パラメータ伝達方式は-D,java内部でこのパラメータを取得することでSystemを通過することができる.getProperty(「config.path」)で取得し、-Dでない場合は直接転送する、-config.path=xxxでは,コード内で取得する方式はmainメソッドのargs配列パラメータで取得する.
次は私たちの主なクラスですcom.coreware.kafka.KafkaConsumer .ここで注意しなければならないのは、-D伝達パラメータは主クラスの前に置くべきであり、直接伝達は主クラスの後ろに置くべきである.
@echo off
if "%1" == "h" goto begin
rem mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
这一段代码是让脚本能后台运行,如果你只需要前台运行的话,则可注释掉第三句。使用 rem 注释,像这样:rem mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
次に、このスクリプトをダブルクリックするとプログラムが起動します.ソフトウェアパッケージがディレクトリを変更した場合、変更する必要はありません.また、このスクリプトは少し変更するだけで他の場所に使用できます.便利ではありませんか.
実は私たちは法則をマスターして、jarプログラムの起動にどのようなものが必要かを知っていて、shellスクリプトをすぐに書くことができます.
例:nohup /home/jst/jdk1.7.0_71/bin/java -Xmx512m -Dlog4j.configuration=file:/home/jst/Kafka2syslog/conf/log4j.properties -Dconfig.path=../conf/conf.properties -cp "../lib/*" com.coreware.kafka.KafkaConsumer > /dev/null 2>&1 &
ここでnohupを使用して起動すると、jarプログラムをバックグラウンドで起動することができます.フロントが起動コマンドを簡単に変更する必要がある場合は、次のようにします./home/jst/jdk1.7.0_71/bin/java -Xmx512m -Dlog4j.configuration=file:/home/jst/Kafka2syslog/conf/log4j.properties -Dconfig.path=../conf/conf.properties -cp "../lib/*" com.coreware.kafka.KafkaConsumer
ここでの-cpとは、-classpathを指します.jarパケットを指定し、jarパケットに依存するパスを指定して、JVMにロードして実行することもできます.
さあ、ここまで.