Linux Shell 调用Java class文件实例

#!/bin/sh
#jdk安装根目录
JAVA_HOME=/usr/lib/jvm/java
# classes的上级目录
GWOS_HOME=/home/user/project/ttd/test-pro
# 第三包jar包存放位置,指定的log4j文件位置
CLASSPATH=.:/home/user/project/ttd/test-pro/lib/*:/home/user/project/ttd/test-pro/logs

# 测试是否可用
RUN_CNT=`ps -ef | grep $JAVA_HOME/bin/java | grep $GWOS_HOME/$JAVA_FILE  | grep -v grep | wc -l`

if [ $RUN_CNT -gt 0 ]; then
	exit 0
fi

# shell调用class文件必须在classes目录下
cd $GWOS_HOME/classes

# 要调用的class(包名.类名)不需要带后缀名
JAVA_FILE=com.tang.Test
# 要传递的参数(和调用jar一样,通过main方法的String [] args 参数接收)
PARAM_1=1
PARAM_2=2

# 调用并传参最终接收返回值
RESULT=$($JAVA_HOME/bin/java -Xmx1524m -cp $CLASSPATH $JAVA_FILE $PARAM_1 $PARAM_2)

echo "$RESULT"

你可能感兴趣的:(LINUX)