对于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脚本(如:test),返伏可以采取两种方式进行运行:\x0d\x0a一、 $ sh test\x0d\x0a一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。\x0d\x0a也可以采用 $ ksh test\x0d\x0a这种方式要求shell具有“可读”的访问权限。\x0d\x0a二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。\x0d\x0achmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)\x0d\x0achmod +rx test(同上)\x0d\x0achmod u+rx test(只有文件属主具有读和执行的访问权限)\x0d\x0a按照上述要求哗穗设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚乱世卜本了。\x0d\x0a1、test(如果命令检索路径包含当前目录)\x0d\x0a2、./test(如果命令减缩路径不包含当前目录)\x0d\x0a*说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。上一篇 我写了在xcode里面添加 run script 来执行脚李源本,可是打包之后发现,只有用 xcode 运行的时候才会执行这个 shell 命令,查了很多资料,最后哪腊态我觉得应该是我理解错了,这里的 run script 很可能只是为了方便自动化打包局差之类的场景适用,而并不是真正的运行时执行脚本。那该怎么实现呢?
参阅博客一
参阅博客二
参阅博客三
但是有一个问题,因为脚本是:
adb需要管理员权限,所以一直提示没有权限执行脚本。
查了一下资料,可以用 with administrator privileges ,这时候又报"用户名密码不正确",不知道为啥,最终抛弃了 NSTask ,找到了 这个库 ,它自动帮我们处理权限问题,最终:
按理说这样应该就没啥问题了,可是这是由又报 someting went wrong:6005 ,又是一顿google, 最终发现 :
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)