一. 下載jdk5.0 for linux(現在應該有新版本了)
到sun的主頁 http://java.sun.com/j2se/1.5.0/download.jsp 下載jdk安裝文件
二. 安裝 java 環境:
新建終端, 進入 jdk 存放目錄, 執行:
./jdk-1_5_0-linux-i586-rpm.bin
出現 jdk 的安裝 licence, 把它看完後, 會問你是否同意安裝, 鍵入 yes 回車安裝.
執行完後在當前目錄中會存在 jdk-1_5_0-linux-i586-rpm 文件, 你可以用 ls 命令查看. 然後執行
rpm -ivh jdk-1_5_0-linux-i586-rpm
這樣, jdk 默認安裝到 /usr 目錄中去了, 我這里是: /usr/java/jdk1.5.0
三. 需要配置的環境變數
1. PATH環境變數。作用是指定命令搜索路徑,在shell下面執行命令時,它會到PATH變數所指定的路徑中查找看是否能找到相應的命令程序。我們需要把 jdk安裝目錄下的bin目錄增加到現有的PATH變數中,bin目錄中包含經常要用到的可執行文件如javac/java/javadoc等待,設置好 PATH變數後,就可以在任何目錄下執行javac/java等工具了。
2. CLASSPATH環境變數。作用是指定類搜索路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPTH來尋找類的。我們 需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設置到CLASSPATH中,當然,當前目錄「.」也必須加入到該變數中。
3. JAVA_HOME環境變數。它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟體就是通過搜索JAVA_HOME變數來找到 並使用安裝好的jdk。
四. 三種配置環境變數的方法
1. 修改/etc/profile文件
如果你的計算機僅僅作為開發使用時推薦使用這種方法,因為所有用戶的shell都有權使用這些環境變數,可能會給系統帶來安全性問題。
2. java如何執行Linux腳本文件
/** * 運行shell腳本 * @param shell 需要運行的shell腳本 */ public static void execShell(String shell){ try { Runtime rt = Runtime.getRuntime(); rt.exec(shell); } catch (Exception e) { e.printStackTrace(); } }
3. java中如何執行linux命令
執行linux命令基,基本思路是從控制台獲得輸入的指令,啟動命令行執行命令,捕捉異常,示例如下:
publicclassTestRunTime{
publicstaticvoidmain(String[]args)throwsIOException,InterruptedException{
Stringcmd="";
if(args==null||args.length==0){
System.out.println("請輸入命令行參數");
}else{
for(inti=0;i<args.length;i++){//獲得輸入的命令
cmd+=args[i]+"";
}
}
try{
Processprocess=Runtime.getRuntime().exec(cmd);//執行命令
InputStreamReaderir=newInputStreamReader(process.getInputStream());
LineNumberReaderinput=newLineNumberReader(ir);
Stringline;
while((line=input.readLine())!=null){//輸出結果
System.out.println(line);
}
}catch(java.io.IOExceptione){
System.err.println("IOException"+e.getMessage());//捕捉異常
}
}
}
4. java連接Linux伺服器,怎麼在java代碼中操作linux的cp命令來將/roo/a/tes.txt文件復制到/root/b文件夾下面
讀入文件流然後再輸出文件流,為什麼非要用cp命令
5. 在linux系統中怎麼執行一個java程序
在linux下使用命令行編譯java文件
在linux下使用命令行編譯java文件
1: 只是獨立的一個java文件
編譯生成test.class文件 : javac test.java
運行: java test
2: 在這個特定包中的一個java文件
編譯生成*.class文件:javac packageName.* (此命令必須是在該文件包所在的路徑,而不是文件所在的路徑)
運行: java packageName.* (同上)
3: 運行時需要某個*.jar文件的支持,如連接DB需要相應的JDBC驅動
編譯生成*.class文件 :不同情況與上1,2點相同
運行時:java -cp .:../lib/mysql.jar packageName.* (其中mysql.jar就是DB的JDBC驅動)
6. 我在linux系統下,執行java -cp 命令 出現了亂碼 我該腫么辦
你拿遠程工具鏈接,比如putty,securessh,然後在選項裡面改成UTF8就可以了。
7. 在linux下怎麼編譯和運行java程序
同時載入編譯多個jar包和java文件
在個人平常使用或者當我們把代碼部署到linux伺服器上的時候,我們經常需要通過命令行編譯和運行java文件,網上關於這個的方法大多是通過
javac -cp filePath/jarName.jar javaName.java1
這種方法。但是加入在filepath文件夾下面有好幾個jar包,在src文件夾中有好幾個java文件的時候,這個方法就很笨拙了,我在網上看的資料非常亂,其實下面一個非常簡單的指令就可以解決了:
javac -Djava.ext.dirs=filePath *.java//注意這里只需要指定到jar包所在的文件夾就可以了1
其中*.java表示可以一次編譯所有的java文件。
把編譯文件放到指定目錄
如果想要把編譯後的文件放到指定目錄,只需要在java文件後加上 -d outputFilePath就可以了,例如下面:
javac -Djava.ext.dirs=filePath *.java -d outputFilePath1
執行java文件
執行java程序頁是同樣,只需要把javac換成java,後面寫上主函數所在的java文件的名稱就可以了,不用加後綴。例如下面
javac -Djava.ext.dirs=filePath MainJavaName1
如果想要把編譯後的文件放到指定目錄,只需要在java文件後加上 -d outputFilePath就可以了
8. 怎樣將java代碼到linux上執行
以下方法支持Linux和windows兩個系統的命令行調用。還用到了apache的lang工具包commons-lang3-3.1.jar來判斷操作系統類型、也用到了和log4j-1.2.16.jar來列印日誌。至於rm -rf 是否能成功刪除文件,可以手動去調用命令行試試。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
private String callCmd(String cmd) throws InterruptedException, UnHandledOSException, ExecuteException {
if(SystemUtils.IS_OS_LINUX){
try {
// 使用Runtime來執行command,生成Process對象
Process process = Runtime.getRuntime().exec(
new String[] { "/bin/sh", "-c", cmd });
int exitCode = process.waitFor();
// 取得命令結果的輸出流
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 + "執行出錯!");
}
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 + "執行出錯!");
}
throw new UnHandledOSException("不支持本操作系統");
}
9. linux系統 javac執行成功 java報錯
linux下面java也是需要配置環境變數的,你配置了嗎
10. 用java -cp命令在linux下執行jar文件里的主類(含main函數),報錯,求解。
一樓正解,-cp用來class path,就是需要用到的別的jar的位置