java project 專案在 linux 下面部署步驟

快雪時晴天發表於2016-07-01

出了某幾點細小的差別,跟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

第四:部署寫好的JavaProject

Java 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
  1. import java.io.BufferedReader;  
  2. import java.io.InputStreamReader;  
  3. import java.math.BigDecimal;  
  4. import java.sql.Connection;  
  5. import java.sql.DriverManager;  
  6. import java.sql.ResultSet;  
  7. import java.sql.Statement;  
  8.   
  9.   
  10. public class MysqlTest {  
  11.     public static void main(String[] args) throws Exception {  
  12.         Connection conn = getConnection();  
  13.         Statement stmt = conn.createStatement();  
  14.         ResultSet rst =stmt.executeQuery("select * from gongwenview");  
  15.         while(rst.next()) {  
  16.             BigDecimal articleId = rst.getBigDecimal(1);  
  17.             String title = rst.getString(2);  
  18.               
  19.             System.out.println("articleId:\t"+articleId+"\ttitle:\t"+title);  
  20.         }  
  21.           
  22.         System.out.println("查詢結束,請繼續");  
  23.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));  
  24.         System.out.println("你輸入的內容是:"+reader.readLine());  
  25.         BufferedReader reader1 = new BufferedReader(new InputStreamReader(System.in));  
  26.     }  
  27.   
  28.     public static Connection getConnection() {  
  29.         Connection conn = null;  
  30.         try {  
  31.             Class.forName("com.mysql.jdbc.Driver");  
  32.             String url = "jdbc:mysql://localhost:3306/gov?characterEncoding=utf-8";  
  33.             conn = DriverManager.getConnection(url, "root""test");  
  34.         } catch (Exception e) {  
  35.             e.printStackTrace();  
  36.         }  
  37.         return conn;  
  38.     }  
  39. }  

這裡面使用到了 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

相關文章