Tuesday, November 29, 2011

Sample batch file (.bat) to run jar package

Here is a sample batch file to run a jar file. Just include the classpath of jars needed and replace the name of jar and the class name to run. All the classpath are declared here much simpler than changing the MANIFEST file in jar. For instance the below is to run MyApp.jar class of MyAppScreen. Also useful to run an application that need additional memory by declaring  -Xms512M -Xmx1024M displayed at the bottom of the script.


@echo off
if "x%JAVA_HOME%" == "x" (
  set  JAVA=java
  echo JAVA_HOME is not set. Unexpected results may occur.
  echo Set JAVA_HOME to the directory of your local JDK to avoid this message.
) else (
  set "JAVA=%JAVA_HOME%\bin\java"
  echo %JAVA%
)


set CURRENT_DIR=%cd%


rem cd ..


set HOME=%cd%


cd %CURRENT_DIR%


rem set HOME=%CURRENT_DIR%


echo home %HOME%
echo current %CURRENT_DIR%


set MY_CLASSPATH=%HOME%\MyApp.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\arq.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\antlr-2.7.6.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\arq-extra.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\asm-3.3.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\cglib-2.2.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\concurrent.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\commons-beanutils-1.7.0.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\commons-collections-3.1.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\commons-fileupload-1.2.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\commons-io-1.3.1.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\commons-lang-2.4.jar
set MY_CLASSPATH=%MY_CLASSPATH%;%HOME%\lib\dom4j-1.6.1.jar




echo ========================================================================
echo.
echo   My App Utility
echo.
echo   HOME: %HOME%
echo.
echo   JAVA: %JAVA%
echo.
echo   JAVA_OPTS: %JAVA_OPTS%
echo.
echo   CLASSPATH: %MY_CLASSPATH%
echo.
echo ========================================================================
echo.




"%JAVA%" -Xms512M -Xmx1024M %JAVA_OPTS% ^
   -cp "%MY_CLASSPATH%" my.com.app.MyAppScreen %*
pause

No comments:

Post a Comment