linux下要知道JAVA_HOME的目錄可以使用 echo $JAVA_HOME命令。
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為南崗等服務(wù)建站,南崗等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為南崗企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
linux的echo命令, 在shell編程中極為常用, 在終端下打印變量value的時候也是常常用到的,例如:
echo $JAVA_HOME
/user/local/jdk1.6.0_25
如果正確配置了JAVA_HOME的環(huán)境變量,則使用echo $JAVA_HOME就可以輸出其目錄位置。
擴展資料
echo命令介紹:
1、功能說明:顯示文字。
2、語 法:echo [-ne][字符串]或 echo [--help][--version]
3、補充說明:echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號。
4、參數(shù):
-n 不要在最后自動換行
-e 若字符串中出現(xiàn)以下字符,則特別加以處理,而不會將它當成一般
–help 顯示幫助
–version 顯示版本信息
一. 解壓安裝jdk
在shell終端下進入jdk-6u14-linux-i586.bin文件所在目錄,
執(zhí)行命令 ./jdk-6u14-linux-i586.bin 這時會出現(xiàn)一段協(xié)議,連繼敲回車,當詢問是否同意的時候,輸入yes,回車。之后會在當前目錄下生成一個jdk1.6.0_14目錄,你可以將它復(fù)制到 任何一個目錄下。
二、配置的環(huán)境變量
1. PATH環(huán)境變量。作用是指定命令搜索路徑,在shell下面執(zhí)行命令時,它會到PATH變量所指定的路徑中查找看是否能找到相應(yīng)的命令程序。我們需要把 jdk安裝目錄下的bin目錄增加到現(xiàn)有的PATH變量中,bin目錄中包含經(jīng)常要用到的可執(zhí)行文件如javac/java/javadoc等待,設(shè)置好 PATH變量后,就可以在任何目錄下執(zhí)行javac/java等工具了。
2. CLASSPATH環(huán)境變量。作用是指定類搜索路徑,要使用已經(jīng)編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPTH來尋找類的。我們 需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設(shè)置到CLASSPATH中,當然,當前目錄“.”也必須加入到該變量中。
3. JAVA_HOME環(huán)境變量。它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟件就是通過搜索JAVA_HOME變量來找到并使用安裝好的jdk。
linux下做Java開發(fā)需要搭建java開發(fā)環(huán)境:jdk是 Java 語言的軟件開發(fā)工具包,Tomcat是Java環(huán)境下WEB服務(wù)器, Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺;這三個工具,方法如下:
1、JDK的安裝
#執(zhí)行下面命令安裝JDK(首先創(chuàng)建/opt/java目錄)
tar -xvf jdk-7u9-linux-i586.tar.gz -C /opt/java
ln -s /opt/java/jdk1.7.0_09 /opt/java/jdk //創(chuàng)建一個鏈接
vi /etc/frofile //設(shè)置環(huán)境變量
export JAVA_HOME=/opt/java/jdk
exprot PATH=$JAVA_HOME/bin:$PATH
#相當于重新設(shè)置PATH=JAVA_HOME/bin+PATH
#配置好之后要用命令source /etc/profile
#執(zhí)行java -version 命令測試一下jdk是否安裝成功
2、tomcat的安裝
#解壓安裝
tar -xvf apache-tomcat-6.0.10.tar.gz -C /opt/tomcat/
ln -s /opt/tomcat/apache-tomcat-6.0.10 /opt/tomcat/tomcat6.0 //創(chuàng)建一個鏈接
cd /opt/tomcat/tomcat6.0/bin
./startup.sh
#打開瀏覽器測試一下,輸入http:localhost:8080,看有沒有貓標識的頁面出來,有的話就說明安裝成功了。
3、eclipse的安裝
gunzip eclipse-java-juno-SR2-linux-gtk.tar.gz
tar -xvf eclipse-java-juno-SR2-linux-gtk.tar -C /opt
#然后去圖形界面進入/opt/eclipse目錄,運行eclipse,就可以打開eclipse界面了。
以下方法支持Linux和windows兩個系統(tǒng)的命令行調(diào)用。還用到了apache的lang工具包commons-lang3-3.1.jar來判斷操作系統(tǒng)類型、也用到了和log4j-1.2.16.jar來打印日志。至于rm -rf 是否能成功刪除文件,可以手動去調(diào)用命令行試試。
private?String?callCmd(String?cmd)?throws?InterruptedException,?UnHandledOSException,?ExecuteException?{
if(SystemUtils.IS_OS_LINUX){
try?{
//?使用Runtime來執(zhí)行command,生成Process對象
Process?process?=?Runtime.getRuntime().exec(
new?String[]?{?"/bin/sh",?"-c",?cmd?});
int?exitCode?=?process.waitFor();
//?取得命令結(jié)果的輸出流
InputStream?is?=?process.getInputStream();
//?用一個讀輸出流類去讀
InputStreamReader?isr?=?new?InputStreamReader(is);
//?用緩沖器讀行
BufferedReader?br?=?new?BufferedReader(isr);
String?line?=?null;
StringBuilder?sb?=?new?StringBuilder();
while?((line?=?br.readLine())?!=?null)?{
System.out.println(line);
sb.append(line);
}
is.close();
isr.close();
br.close();
return?sb.toString();
}?catch?(java.lang.NullPointerException?e)?{
System.err.println("NullPointerException?"?+?e.getMessage());
logger.error(cmd);
}?catch?(java.io.IOException?e)?{
System.err.println("IOException?"?+?e.getMessage());
}
throw?new?ExecuteException(cmd?+?"執(zhí)行出錯!");
}
if(SystemUtils.IS_OS_WINDOWS){
Process?process;
try?{
//process?=?new?ProcessBuilder(cmd).start();
String[]?param_array?=?cmd.split("[\\s]+");
ProcessBuilder?pb?=?new?ProcessBuilder(param_array);
process?=?pb.start();
/*process=Runtime.getRuntime().exec(cmd);*/
int?exitCode?=?process.waitFor();
InputStream?is?=?process.getInputStream();
InputStreamReader?isr?=?new?InputStreamReader(is);
BufferedReader?br?=?new?BufferedReader(isr);
String?line;
StringBuilder?sb?=?new?StringBuilder();
while?((line?=?br.readLine())?!=?null)?{
System.out.println(line);
sb.append(line);
}
is.close();
isr.close();
br.close();
return?sb.toString();
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
throw?new?ExecuteException(cmd?+?"執(zhí)行出錯!");
}
throw?new?UnHandledOSException("不支持本操作系統(tǒng)");
}
Java 可以通過 Runtime 調(diào)用Linux命令,形式如下:
Runtime.getRuntime().exec(command)
但是這樣執(zhí)行時沒有任何輸出,因為調(diào)用 Runtime.exec 方法將產(chǎn)生一個本地的進程,并返回一個Process子類的實例(注意:Runtime.getRuntime().exec(command)返回的是一個Process類的實例)該實例可用于控制進程或取得進程的相關(guān)信息。
由于調(diào)用 Runtime.exec 方法所創(chuàng)建的子進程沒有自己的終端或控制臺,因此該子進程的標準IO(如stdin,stdou,stderr)都通過 Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream() 方法重定向給它的父進程了。
用戶需要用這些stream來向子進程輸入數(shù)據(jù)或獲取子進程的輸出,下面的代碼可以取到 linux 命令的執(zhí)行結(jié)果:
try {
String[] cmd = new String[]{”/bin/sh”, “-c”, ” ls “};
Process ps = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append(”\n”);
}
String result = sb.toString();
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
1、java程序一般都有啟動腳本
2、例如tomcat/bin
./startup.sh
3、例如weblogic
./startWebLogic.sh
4、也可以用java直接啟動jar包,例如
/doyoo/jdk1.6/bin/java -DRmode=test -Dlog4j.configuration=file:conf/log4j.properties -classpath run.jar net.test.ji
m.server.boot.Booter