用惯了eclipse,偶尔需要使用编译class的时候,总要查询资料,现在把运行class的方法记下来:
运行: java -cp ***.jar:***.jar空格类名不带class
(主要是jar直接要用:分隔,总是记成; jar 和要运行的class之间要用空格分开)
例如:运行 SendSMS.class
java -cp ./:../lib/commons-configuration-1.6.jar:../lib/commons-lang-2.5.jar:../lib/log4j-1.2.8.jar:../lib/commons-logging-api-1.1.jar:../lib/commons-collections-3.2.1.jar SendSMS
一个脚本:
BASE_DIR=$(pwd)
LIB="${BASE_DIR}/lib/"
JAVA_OPTS=" -Xmx2048m -XX:PermSize=64m -XX:MaxPermSize=1024m -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=1024k -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=logs/mtdperf.hprof -server -Dfile.encoding=UTF-8"
START_CLASS="com.qiyi.msg.broker.client.MqttConnection"
#echo ${LIB}
for libfile in ${LIB}/*.jar ; do
if [ -f $libfile ] ; then
CLASSPATH=$libfile:${CLASSPATH}
fi
done
CLASSPATH=${BASE_DIR}:${CLASSPATH}
num=5000
if [ x$1 != x ]
then
num=$1
fi
echo "开始建立$num个连接,详见client.log"
nohup "java" ${JAVA_OPTS} -server -cp ${CLASSPATH} ${START_CLASS} $num > client.log &
详见test.zip