出了某几点细小的差别,跟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) 举例:
有如下的类:
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