#!/bin/sh
LIBS_DIR=项目所用包的地址/lib //这里的项目所用包的地址是 项目所用到的包 , 通常我们放到lib中 ,
for i in $LIBS_DIR/*.jar
do CLASSPATH=$i:"$CLASSPATH"
done
SERVER=项目地址 //这里的项目地址是 你将bin文件放入 linux服务器中的地址
cd $SERVER/bin //这里的 bin 意思是 绑定到了 bin这个文件夹下, 也就是说你把myeclipse工程中的bin文件夹复制到服务器上就可以了,里面是class类
java -Xms512m -Xmx1024m -classpath $CLASSPATH com.abin.test.Send//这里的com.abin.test.Send是 包的名字 也就是 java类中 package com.abin.test;
例子:
今天大概耗费了快一天的时间研究怎么用脚本执行java程序,终于实现了,分享一下
(1)在linux下写一个.sh文件
(2)文件内容如下:
#!/bin/sh //bash文件头
APP_HOME=/home/blmcrm/crm/A //要执行的java文件中bin文件的上一个目录,我的目录 是/home/blmcrm/crm/A/bin/blm......(后面不写了),总之就是写bin目录 前面的部分,因为jar包在bin目录里面,如果不在bin里面,也如此改一下 就行
CLASSPATH=$APP_HOME/bin //bin目录当然是包含jar包的目录啦
for i in "$APP_HOME"/bin/*.jar //引进所有的jar包,这里用的循环,当然也可以按照这个格式一个一个 写
do
CLASSPATH="$CLASSPATH":"$i" //环境变量就这格式
done
export CLASSPATH=.:$CLASSPATH //不写这个可能会说找不到main类
echo ${CLASSPATH} //打印环境变量,可以不写
java -Xms50m -Xmx250m org.gdh.blm.exec.Syslog_csv
exit(结束) //执行java程序, 其中-Xms50m -Xmx250m是运行内存什么的设置,后面的是bin目录以后一直到.class的路径,我的是Syslog_csv.class,所以我最后那个是Syslog_csv。
通过以上注视 我像大家应该明白了