linux下执行java程序的sh脚本分享_java

今天大概耗费了快一天的时间研究怎么用脚本执行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。

不知道写的详不详细,每个人情况不一样,仅供参考,但是设置的时候环境变量是最重要的,我就是环境变量一直不对,总是按网上查到的来,不明白怎么回事,才一直出错,其实环境变量就是你要执行的java程序所在的位置,对了,.sh的执行是在终端输入sh aa.sh

时间: 2024-11-02 04:48:37

linux下执行java程序的sh脚本分享_java的相关文章

Linux下启动java程序的通用脚本sh

在网上找到一个挺好的通用shell脚本. 只需要修改一些配置变量,就可以用来做起动脚本了. 并且除了能起动.还支持关闭.重启.查看是否正在运行的功能. 原文地址:http://www.tudaxia.com/archives/10 start函数中,nohup部分其实也可以提出来放入一个配置变量中.这里没有修改直接贴上作者的原文 #!/bin/sh #该脚本为Linux下启动java程序的通用脚本.即可以作为开机自启动service脚本被调用, #也可以作为启动java程序的独立脚本来使用. #

Linux下执行Java服务程序

nohup命令 普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程(本站有文章介绍过),比较麻烦:另一种方法是仍然用普通方法编程,然后用nohup命令启动程序: nohup <程序名> & 则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程).使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现

bat下执行java程序报错处理

G:\>java -Xms128M -Xmx512M -server -Dprogram.name=b omc-sa-tdtpagent -Dfile.encoding=GBK -Duser.timezone=GMT+8 -jar ../test.jar agent 1>td.log Error: missing `server' JVM at `C:\Program Files\Java\jre7\bin\server\jvm.dll'. Please install or use the

简介Java程序的Shell脚本包装_java

在许多Java工程中,经常会看到带有程序自定义参数调用Java命令的包装shell脚本.例如,   $ANT_HOME/bin/ant, $GROOVY_HOME/bin/groovy ,甚至在我们的TimeMachine Scheduler程序中也能见到   $TIMEMACHINE_HOME/bin/scheduler.sh 编写这些包装脚本很无聊而且容易出错.大多数的问题来自为程序设置正确的classpath.如果你正在为一个公司开发内部项目的话,那么你有可能远离纠结的路径以及环境变量问题

Java在Linux下 不能处理图形的解决办法 分享_java

java在图形处理时调用了本地的图形处理库.在利用Java作图形处理(比如:图片缩放,图片签名,生成报表)时,如果运行在windows上不会出问题.如果将程序移植到Linux/Unix上的时候有可能出现图形不能显示的错误. 提示信息:"Can't connect to X11 window server"这是由于Linux的图形处理需要一个X Server服务器. 解决办法: 1.如果服务器上安装有图形界面,可以通过设置环境变量:DISPALY=127.0.0.1:0.0解决. 2.

java jsch-JSCH 连接linux可以执行c程序吗?

问题描述 JSCH 连接linux可以执行c程序吗? jsch怎么执行可执行文件(是一个c语言程序) 直接用文件名不行 解决方案 怎样在linux下编写C程序并编译执行linux下的C语言计算程序执行时间 解决方案二: 这里执行的sh,你换成你c程序路径. public void cmremove() { try { JSch jsch = new JSch(); Session session = jsch.getSession(user, host, port); UserInfo ui =

java-如何使用Java程序或shell脚本删除某目录下匹配文件名的文件.

问题描述 如何使用Java程序或shell脚本删除某目录下匹配文件名的文件. 如何使用Java程序或shell脚本删除某目录下匹配文件名的文件. 解决方案 Java的话,直接调用File的delete方法就可以了.比如你拿到了要删除文件的路径为path.代码如下 File file = new File(path); file.delete(); 解决方案二: 先判断file是目录还是文件,如果是文件就匹配文件名删除,是目录就遍历,继续判断目录或文件(递归) 解决方案三: 要使用shell脚本删

c-用什么方法可以知道linux下跑的程序的返回值?

问题描述 用什么方法可以知道linux下跑的程序的返回值? 比如 aaa.c main() { return 123; } 编译成aaa 如果 ./aaa 以后,我想获得123,应该怎么做?谢谢各位大神 用C,用shell都行! 解决方案 这种返回值应该是没法知道的,Linux下运行程序是有系统返回值的,就是返回-1 0 之类的代表程序运行正确或者失败,如果可以,你可以加日志之类的将程序返回值打印出来就可以了 解决方案二: 脚本里面,$?就是上次执行的程序的返回值 解决方案三: 用管道就可以了,

在linux中执行java.jar时报错

问题描述 [devafs:/home/devafs/batch/sbin] sh start.shUsage: java [-options] class [args...] (to execute a class) or java [-options] -jar jarfile [args...] (to execute a jar file)where options include: -d32 use a 32-bit data model if available -d64 use a