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