|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢?
一般,一个Java的背景使用程序,在Linux的终端能够启动多个,如许形成资本华侈,乃至互相操纵合作资本招致成绩。这里经由过程也shell剧本启动使用,在shell剧本中做了些限定。就能够奇妙制止反复启动的成绩了。
好比使用的目次布局为:
app
bin(寄存启动剧本startup.sh和class文件、设置文件等。)
lib(寄存援用的库)
假定使用的类名为:mypack.MyAppMain
startup.sh
#!/bin/sh
programdir="."
program="mypack.MyAppMain"
num=$#
temp=$CLASSPATH
#setting libs path
libs=../lib/*
append(){
temp=$temp":"$1
}
for file in $libs; do
append $file
done
export CLASSPATH=$temp:.:../:$programdir
export LANG=zh_CN
res=`ps aux|grep java|grep $program|grep -v grep|awk {print $2}`
if [ -n "$res" ]
then
echo "MyAppMain already running"
else
nohup java -classpath $CLASSPATH mypack.MyAppMain &
sleep 3
unset res
res=`ps aux|grep java|grep $program|grep -v grep|awk {print $2}`
if [ -n "$res" ]
then
echo "MyAppMain start success"
else
echo "MyAppMain start error"
fi
fi
然后经由过程此剧本来启动,就能够办理成绩了。
注重:
启动时分还大概呈现startup.sh没有实行权限的成绩,改成777。
另有大概呈现毛病信息:
: bad interpreter: 没有谁人文件或目次
这是由于startup.sh剧本的编码不合错误,你必要包管文档格局是UNIX的,这个成绩很多多少人栽过跟头,我也不破例,觉得shell剧本语法不合错误,实际上是文件编码的成绩!
上面给出没无限制的反复启动成绩的剧本:
#!/bin/sh
programdir="."
num=$#
temp=$CLASSPATH
#setting libs path
libs=../lib/*
append(){
temp=$temp":"$1
}
for file in $libs; do
append $file
done
export CLASSPATH=$temp:.:../:$programdir
export LANG=zh_CN
nohup java -classpath $CLASSPATH mypack.MyAppMain &
出处:http://lavasoft.blog.51cto.com/62575/243360
主要缺点就是:速度比较慢,没有C和C++快 |
|