首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux下的运行自开发的JAR包,并替换默认JDK

2013-01-26 
Linux上的运行自开发的JAR包,并替换默认JDK[root@localhost server]# vi /etc/profile??? 在文件最后增加J

Linux上的运行自开发的JAR包,并替换默认JDK
[root@localhost server]# vi /etc/profile

??? 在文件最后增加JAVA_HOME、PATH配置

?

?

JAVA_HOME=/weblogic/jdk160_18PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOMEexport PATHexport CLASSPATH

?2:执行/etc/profile文件后,再查看版本,已经是上面配置的JDK6了,我直接使用的Weblogic的jdk。

??????? 从windows下拷贝去的JDK,要注意是否是能在Linux下用的,我就是把Windows下安装的JDK拷去,结果悲催了半天。。

[root@localhost server]# . /etc/profile[root@localhost server]# java -versionjava version "1.6.0_18"Java(TM) SE Runtime Environment (build 1.6.0_18-b07)Java HotSpot(TM) Server VM (build 16.0-b13, mixed mode)

? 4:为要执行的java类,配置CLASSPATH,我这里有一堆log4j等外部的jar包:

[root@localhost server]# export CLASSPATH=.:$CLASSPATH:./ipayrelay-server.jar:./lib/log4j-1.2.16.jar:./lib/jxl.jar:./lib/commons-beanutils.jar:./lib/commons-collections.jar:./lib/commons-digester.jar:./lib/commons-logging.jar:./lib/commons-pool.jar:./lib/lucene-core-3.6.1.jar:./lib/mail.jar:./lib/metouia.jar:./lib/QSAdminGUI.jar:./lib/QuickServer.jar:./lib/quickserver_config.dtd:./lib/quickserver_config.xsd:./lib/QuickServerClient.jar:./lib/ipayrelay-client.jar:./lib/commons-codec-1.7.jar:./lib/commons-httpclient-3.1.jar

?5:最后执行打好的jar包:

[root@localhost server]#java -cp $CLASSPATH com.mfhcd.ipayrelay.server.Server

?6:将上述内容制成脚本执行,我的脚本ipayrelay.sh

#!/bin/shsource /etc/profileexport CLASSPATH=.:$CLASSPATH:./ipayrelay-server.jar:./lib/log4j-1.2.16.jar:./lib/jxl.jar:./lib/commons-beanutils.jar:./lib/commons-collections.jar:./lib/commons-digester.jar:./lib/commons-logging.jar:./lib/commons-pool.jar:./lib/lucene-core-3.6.1.jar:./lib/mail.jar:./lib/metouia.jar:./lib/QSAdminGUI.jar:./lib/QuickServer.jar:./lib/quickserver_config.dtd:./lib/quickserver_config.xsd:./lib/QuickServerClient.jar:./lib/ipayrelay-client.jar:./lib/commons-codec-1.7.jar:./lib/commons-httpclient-3.1.jarjava -cp $CLASSPATH com.mfhcd.ipayrelay.server.Server

? ?? #!/bin/sh是执行命令的脚本固定的开头, source /etc/profile是将该文件的内容解释执行一遍,让JAVA_HOME生效。

?

7:脚本可能有字符集问题,需要转码,转码后即可解决/bin/sh^M: bad interpreter这种报错:

[root@localhost server]# dos2unix ipayrelay.sh

?8:最后执行脚本,前给脚本授权,我是将当前目录下的文件及其子文件全部授权了,为了方便调用

???

[root@localhost server]#chmod -R 777 .

?9:最后执行脚本:

[root@localhost server]# ./ipayrelay.sh

?10:停止脚本,9090是我的应用绑定的端口号,根据端口号查到PID后,执行kill杀进程

[root@localhost bin]# netstat -lnp | grep 9090tcp        0      0 :::9090                     :::*                        LISTEN      6406/java           [root@localhost bin]# kill -9 6406

?上面的脚本也可以通过一句话执行:kill -9 $(netstat -tlnp|grep 9090|awk '{print $7}'|awk -F '/' '{print $1}')

11:后台启动脚本,即使退出ssh也可以运行服务

[root@localhost server]#nohup ./ipayrelay.sh &

?

?

?

?

热点排行