Linux上的運行自開發的JAR包,並替換默認JDK
今天把Windows上的消息收發平台部署到Linux上,始終不正確,執行java -version一直是jdk1.4.
最後解決方法如下: www.2cto.com
1:修改/etc/profile文件
Linux代碼
[root@localhost server]# vi /etc/profile
在文件最後增加JAVA_HOME、PATH配置
Linux代碼
JAVA_HOME=/weblogic/jdk160_18
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
2:執行/etc/profile文件後,再查看版本,已經是上面配置的JDK6了,我直接使用的
Weblogic的jdk。
www.2cto.com
從windows下拷貝去的JDK,要注意是否是能在Linux下用的,我就是把Windows
下安裝的
JDK拷去,結果悲催了半天。。
Linux代碼
[root@localhost server]# . /etc/profile
[root@localhost server]# java -version
java 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包:
Linux代碼
[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包:
Linux代碼
[root@localhost server]#java -cp $CLASSPATH com.mfhcd.ipayrelay.server.Server
6:將上述內容制成腳本執行,我的腳本ipayrelay.sh
Java代碼
#!/bin/sh
source /etc/profile
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
java -cp $CLASSPATH com.mfhcd.ipayrelay.server.Server
#!/bin/sh是執行命令的腳本固定的開頭, source /etc/profile是將該文件的內容
解釋執行一遍,
讓JAVA_HOME生效。 www.2cto.com
7:腳本可能有字符集問題,需要轉碼,轉碼後即可解決/bin/sh^M: bad interpreter
這種報錯:
Linux代碼
[root@localhost server]# dos2unix ipayrelay.sh
8:最後執行腳本,前給腳本授權,我是將當前目錄下的文件及其子文件全部授權了,
為了方便調用
Java代碼
[root@localhost server]#chmod -R 777 .
9:最後執行腳本:
Linux代碼
[root@localhost server]# ./ipayrelay.sh