启动Java应用的Shell脚本

启动Java应用的Shell脚本,第1张

对于Java应用程序(非web应用) 在部署后 常常需要一个启动脚本来加载一些第三方的jar包 并启动应用

对于java应用程序 我一般喜欢将程序的目录结构写成如下的方式

myapp

| lib

| bin

| packages

一些配置文件和属性文件

一个startup sh 或bat启动脚本

其中 packages是程序的根包 其中有子包和class文件等

在包中 有一个Main calss的类 这个作为程序的入口

下面给出一个最一般的写法

startup sh #!/bin/sh

programdir=

num=$#

temp=$CLASSPATH

#setting libs path

libs= /lib/*

append(){

temp=$temp : $

}

for file in $libsdo

append $file

done

export CLASSPATH=$temp: : /:$programdir

export LANG=zh_CN

nohup java classpath $CLASSPATH    packaages xxx yyy Main &

这样 只要按照上面的方式组织程序 启动脚本就需要改动下Main前面的包路径即可

nohup 上面脚本中最后一行前有nohup 这是将程序的输入输出都将附加到当前目录的 nohup out 文件中

lishixinzhi/Article/program/Java/hx/201311/25993

在shell脚本中直接执行java就行了,比如写个a.sh文件

#!/bin/bash

java a.class

就行了,然后保存,执行bash a.sh脚本。如果要后台运行,则bash a.sh&

// 用法:Runtime.getRuntime().exec("命令")

String shpath="/test/test.sh" //程序路径

Process process =null

String command1 = “chmod 777 ” + shpath

try {

Runtime.getRuntime().exec(command1 ).waitFor()

} catch (IOException e1) {

e1.printStackTrace()

}catch (InterruptedException e) {

e.printStackTrace()

}

String var="201102" /参数

String command2 = “/bin/sh ” + shpath + ” ” + var

Runtime.getRuntime().exec(command2).waitFor()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11149292.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存