出了某幾點細小的差別,跟Windows的部署是完全一致的,具備通用性
首先,介紹一下部署步驟:
第一:安裝jdk第二:安裝tomcat第三:配置環境變量;在/etc/profile的最後追加:export JAVA_HOME=/root/jdk1.6.0_01
export JRE_HOME=/root/jdk1.6.0_01/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/lib:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JRE_HOME
export TOMCAT_HOME=/root/apache-tomcat-5.5.29
第四:部署寫好的JavaProjectJava Project的部署相對比較麻煩,
部署步驟如下:
A)從eclipse中將Java Project編譯好,然後拷貝出bin文件夾,上傳至服務器上即可;
B)需要將所有用到的jar包(我們的jar包放在/usr/lib中),配置到classpath中,如下:
exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JRE_HOME:/usr/lib/activation-1.1.jar:/usr/lib/annogen-0.1.0.jar:/usr/lib/antlr-2.7.7.jar:/usr/lib/axiom-api-1.2.7.jar:/usr/lib/axiom-dom-1.2.7.jar:/usr/lib/axiom-impl-1.2.7.jar:/usr/lib/axis2-adb-1.4.1.jar:/usr/lib/axis2-adb-codegen-1.4.1.jar:/usr/lib/axis2-codegen-1.4.1.jar:/usr/lib/axis2-corba-1.4.1.jar:/usr/lib/axis2-fastinfoset-1.4.1.jar:/usr/lib/axis2-java2wsdl-1.4.1.jar:/usr/lib/axis2-jaxbri-1.4.1.jar:/usr/lib/axis2-jaxws-1.4.1.jar:/usr/lib/axis2-jaxws-api-1.4.1.jar
C)如果入口Java類不是在bin的根目錄下,比如:入口在bin/beans/common/startup.class中,我們運行的時候,不應該是
cd bin
cd beans
cd common
java startup
而應該是bin]#javabeans.common.startup
D) 舉例:
有如下的類:
[java] view
plain copy
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MysqlTest {
public static void main(String[] args) throws Exception {
Connection conn = getConnection();
Statement stmt = conn.createStatement();
ResultSet rst =stmt.executeQuery("select * from gongwenview");
while(rst.next()) {
BigDecimal articleId = rst.getBigDecimal(1);
String title = rst.getString(2);
System.out.println("articleId:\t"+articleId+"\ttitle:\t"+title);
}
System.out.println("查詢結束,請繼續");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("你輸入的內容是:"+reader.readLine());
BufferedReader reader1 = new BufferedReader(new InputStreamReader(System.in));
}
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/gov?characterEncoding=utf-8";
conn = DriverManager.getConnection(url, "root", "test");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
這裡面使用到了 mysql-connector-java-5.0.8-bin.jar ,把 MysqlTest.class 和 mysql-connector-java-5.0.8-bin.jar 一起放入 linux 目錄 /application/mysqltest/ 下面,然後編寫啟動 shell start.sh
export JAVA_HOME=/usr/java/jdk1.6.0_20
export JRE_HOME=/usr/java/jdk1.6.0_20/jre
export PATH=$JAVA_HOME/BIN:$JRE_HOME/lib:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JRE_HOME:/application/mysqltest/MySQL-connector-java-5.0.8-bin.jar
java MysqlTest
運行的時候,只需要執行:sh start.sh 就可以了。
需要注意的是 sh start.sh 跟MysqlTest.class 放在同一個目錄下才行,如果要執行的不是一個 class 文件而是一個jar包的話,就把要執行的 jar 包的路徑也放入到 CLASSPATH 路徑裡面,然後運行帶有 Main 函數的類就行了。
在Linux下運行可執行Jar包,首先准備jar包,一般的編譯工具Eclipse,jbuilder都提供export功能,可以生成jar包。
運行的命令行很簡答
java -jar 給定的jar包 [如果運行的jar包需要參數,直接後面依次給出就好]
eg:
java -jar Hello.jar inPut.txt outPut.txt