batバッチjavaプログラム汎用スクリプトの起動


前提:
  • スクリプトは、スクリプトに2つのパラメータを渡す必要があると仮定し、パラメータは最終的にjavaプログラム
  • に渡される.
  • スクリプト同級ディレクトリにclasses内に格納されているのは、プログラムが実行するclassesファイル
  • です.
  • スクリプト同級ディレクトリlibに格納されているのは、プログラム実行jarパケット
  • である.
  • 最適でないスクリプトは、必要に応じて
  • を自分で修正します.
    起動スクリプト:
  • パラメータを渡す必要がなく、直接ダブルクリックで開くか、コマンドラインにスクリプト名を入力して実行すれば
  • である.
  • このスクリプトは、2つのパラメータを渡す必要があると仮定し、コマンドに
    	  \            
    
  • を入力する必要があります.
    スクリプトの内容:
    ::	
    ::Author:wangxueming	
    ::Date:2018-09-27
    ::	
    :: "::" annotation
    :: "@echo off" only show results, no command line is displayed
    :: "echo off" only show results, no command line is displayed, but this command line is included
    @echo off
    title Program
    :: start delayed expansion to use variable nesting eg. ! %%! and Loop assignment
    setlocal enabledelayedexpansion
    cls
    
    ::     ,          
    set arg1=%1%
    set arg2=%2%
    
    ::      
    set /a cnt=0
    :loop
    if not "%1"=="" (set /a cnt+=1&shift /1&goto :loop)
    
    if %cnt% NEQ 2 (
    	echo Usage:need two args. 
    	goto exit
    )
    
    ::JAVA_HOME  
    ::set JAVA_HOME=/usr/java/jdk1.7.0_79
    
    ::Java     
    set APP_HOME=%cd%
    
    ::     Java 
    set APP_MAINCLASS=com.dcits.startup.Bootstrap
    
    ::classpath  ,    lib      jar
    set CLASSPATH=%APP_HOME%\classes
    
    For /r "%APP_HOME%\lib" %%f in (*.jar) do (
    	set CLASSPATH=!CLASSPATH!;%%f
    )
    
    ::java       , MaxPermSize=128m; support was removed in 8.0
    set JAVA_OPTS=-Xms512m -Xmx512m -Xmn256m -Djava.awt.headless=true -XX:MaxPermSize=128m
    
    ::      
    echo System Information:
    echo ********************************************************
    echo COMPUTERNAME=%COMPUTERNAME%
    echo OS=%OS%
    echo.
    echo APP_HOME=%APP_HOME%
    echo JAVA_HOME=%JAVA_HOME%
    echo APP_MAINCLASS=%APP_MAINCLASS%
    echo CLASSPATH=%CLASSPATH%
    echo CURRENT_DATE=%date% %time%:~0,8%
    echo ********************************************************
    
    ::  java
    echo Starting %APP_MAINCLASS% ...
    echo.
    "%JAVA_HOME%\bin\java" -classpath %CLASSPATH% %JAVA_OPTS% %APP_MAINCLASS% %arg1% %arg2%
    
    :exit
    pause