使用bat命令或shell脚本调用java程序

在eclipse中开发工程,使用main函数作为调用入口,直接将工程导出为jar文件。

一、使用bat命令调用

将要用到的包放在lib目录,配置文件放etc目录,

将对应的classpath配置好,

脚本将程序需要使用的jar包配置到classpath中,设置JVM参数,传入参数调用类

 

echo off
set SD=%cd%
cd /d %~dp0

set LIB_HOME=%cd%
 
call :AppendToClasspath "%LIB_HOME%\lib\com.springsource.org.apache.commons.beanutils-1.8.0.jar"
call :AppendToClasspath "%LIB_HOME%\lib\com.springsource.org.apache.commons.collections-3.2.1.jar"
call :AppendToClasspath "%LIB_HOME%\lib\com.springsource.org.apache.commons.logging-1.1.1.jar"
call :AppendToClasspath "%LIB_HOME%\lib\com.springsource.org.apache.commons.lang-2.4.0.jar"
call :AppendToClasspath "%LIB_HOME%\lib\com.springsource.org.apache.log4j-1.2.16.jar"
call :AppendToClasspath "%LIB_HOME%\lib\com.springsource.slf4j.api-1.6.1.jar"
call :AppendToClasspath "%LIB_HOME%\lib\com.test.invoke-***.jar"

set JVM_OPT=-Xms128m -Xmx128m -Xmn64m
set JVM_OPT=%JVM_OPT% -XX:PermSize=128m -XX:MaxPermSize=128m
set JVM_OPT=%JVM_OPT% -XX:ReservedCodeCacheSize=128m
set JVM_OPT=%JVM_OPT% -XX:+DisableExplicitGC -XX:SurvivorRatio=1
set JVM_OPT=%JVM_OPT% -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
set JVM_OPT=%JVM_OPT% -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0
set JVM_OPT=%JVM_OPT% -XX:+UseFastAccessorMethods -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled
set JVM_OPT=%JVM_OPT% -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=62
set JVM_OPT=%JVM_OPT% -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC
set JVM_OPT=%JVM_OPT% -Xloggc:%LIB_HOME%\var\log\jmsserver.gc.hprof.txt
set JVM_OPT=%JVM_OPT% -XX:+HeapDumpOnOutOfMemoryError
set JVM_OPT=%JVM_OPT% -javaagent:%LIB_HOME%\lib\***.jar
set JVM_OPT=%JVM_OPT% -Dcrypto.package.file=%LIB_HOME%\etc\encryptoPackages.properties
set JVM_OPT=%JVM_OPT% -Drpc.conf.home=%LIB_HOME%\etc

goto :start

:AppendToClasspath
  set CLASSPATH=%CLASSPATH%;%~1
goto :eof

:start
set arg1=test

java -Dprocname=rpcSingle %JVM_OPT% -classpath %CLASSPATH% com.test.invoke-***.invoke %arg1% >>%LIB_HOME%\TEST.log  

pause

 

二、

#!/bin/sh
#set +x


AppendToClasspath()
{
  class_jar=$1
  CLASSPATH=${CLASSPATH}:${class_jar}
  return 0
}

SD=`dirname $0`
[ "${SD}" != "." ] && SD=`pwd`


cd $SD

LIB_HOME=$SD

 
AppendToClasspath "${LIB_HOME}/lib/com.springsource.org.apache.commons.beanutils-1.8.0.jar"
AppendToClasspath "${LIB_HOME}/lib/com.springsource.org.apache.commons.collections-3.2.1.jar"
AppendToClasspath "${LIB_HOME}/lib/com.springsource.org.apache.commons.lang-2.4.0.jar"
AppendToClasspath "${LIB_HOME}/lib/com.springsource.org.apache.commons.logging-1.1.1.jar"
AppendToClasspath "${LIB_HOME}/lib/com.springsource.org.apache.log4j-1.2.16.jar"
AppendToClasspath "${LIB_HOME}/lib/com.springsource.slf4j.api-1.6.1.jar"
AppendToClasspath "${LIB_HOME}/lib/TEST****-.jar"
AppendToClasspath "${LIB_HOME}/lib/commons-codec-1.3.jar"


JVM_OPT="-Xms128m -Xmx128m -Xmn64m"
JVM_OPT="${JVM_OPT} -XX:PermSize=128m -XX:MaxPermSize=128m"
JVM_OPT="${JVM_OPT} -XX:ReservedCodeCacheSize=128m"
JVM_OPT="${JVM_OPT} -XX:+DisableExplicitGC -XX:SurvivorRatio=1"
JVM_OPT="${JVM_OPT} -XX:+UseConcMarkSweepGC -XX:+UseParNewGC"
JVM_OPT="${JVM_OPT} -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0"
JVM_OPT="${JVM_OPT} -XX:+UseFastAccessorMethods -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled"
JVM_OPT="${JVM_OPT} -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=62"
JVM_OPT="${JVM_OPT} -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC"
JVM_OPT="${JVM_OPT} -Xloggc:${IEMP_HOME}/var/iemp/log/jmsserver.gc.hprof.txt"
JVM_OPT="${JVM_OPT} -XX:+HeapDumpOnOutOfMemoryError"
JVM_OPT="${JVM_OPT} -javaagent:${LIB_HOME}/lib/***.jar"
JVM_OPT="${JVM_OPT} -Dcrypto.package.file=${LIB_HOME}/etc/encryptoPackages.properties"           
JVM_OPT="${JVM_OPT} -Drpc.conf.home=${LIB_HOME}/etc"      

if [ $# -lt 1 ] ;
 then
  echo "  invalid combination of startRpcClient.sh options"
  echo
  echo "  ===================================================================="
  echo "  Usage: $0 operationName"
  echo "  ===================================================================="
  echo
 exit 1;
fi

args=$@
echo $args
while [ $# -gt 0 ]
do
  #if delete the operation TEST,then input the parameter is "delete:TEST"
  #if Add the operation ,then input the parameter is "TEST"
  echo $1 | grep -iq delete
  if [ $? -eq 0 ];
  then
  java  -Dprocname=rpcSingle -Dfile.encoding=UTF-8 ${JVM_OPT} -classpath "${CLASSPATH}" TEST****.Invoke $1 >>${LIB_HOME}/TEST.log  
  if [ $? -ne 0 ];then
   echo "Delete the operation $1 from TEST failed!"
   exit 1
  else
   echo "Delete the operation $1 from TEST successful!"
  fi
  shift
 else
  java  -Dprocname=rpcSingle -Dfile.encoding=UTF-8 ${JVM_OPT} -classpath "${CLASSPATH}"TEST****.Invoke $1 >>${LIB_HOME}/TEST.log
      if [ $? -ne 0 ];then
   echo "Add the operation $1 to TEST failed!"
   exit 1
  else
   echo "Add the operation $1 to TEST successful!"
  fi
  shift
  fi
done


exit 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值