1)在linux下寫一個.sh文件
(2)文件內容如下:
復制代碼
代碼如下:
#!/bin/sh
//bash文件頭
APP_HOME=/home/blmcrm/crm/A
//要執行的java文件中bin文件的上一個目錄,我的目錄是/home/blmcrm/crm/A/bin/blm......(後面不寫了),總之就是寫bin目錄前面的部分,因為jar包在bin目錄裡面,如果不在bin裡面,也如此改一下就行
CLASSPATH=$APP_HOME/bin
//bin目錄當然是包含jar包的目錄啦
for i in "$APP_HOME"/bin/*.jar
//引進所有的jar包,這里用的循環,當然也可以按照這個格式一個一個 寫
do
CLASSPATH="$CLASSPATH":"$i" //環境變數就這格式
done
export
CLASSPATH=.:$CLASSPATH //不寫這個可能會說找不到main類
echo
${CLASSPATH} //列印環境變數,可以不寫
java -Xms50m -Xmx250m
org.gdh.blm.exec.Syslog_csv
exit(結束) //執行java程序, 其中-Xms50m
-Xmx250m是運行內存什麼的設置,後面的是bin目錄以後一直到.class的路徑,我的是Syslog_csv.class,所以我最後那個是Syslog_csv。
❷ 怎樣將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("不支持本操作系統");
}
❸ 如何在Linux中反編譯java源代碼
之前看同事使用JD-GUI來反編譯java
.class文件,覺得很爽,不過一直以來也沒有再次版接觸到這個問題,所以也權沒有對這個工具進行深入的了解。
今天無聊看了些技術文檔,忽然想起這個工具來,上網一找。呼呼果真也有Linux的版本。
不過我網上資料顯示主頁上下載的gz包是32位的程序,我在64位的Fedora
12下可能有些問題,程序在運行時會調用不到關鍵的32位庫而失敗。幸運的是只要安裝幾個包即可:
yum install
libcanberra-gtk2.i686 PackageKit-gtk-mole.i686
gtk2-engines.i686
下載後:
tar -xzvf
jd-gui-0.3.2.linux.i686.tar.gz
sudo mv jd-gui
/usr/local/bin
至此jd-gui便可以在linux下運行,對於class或者jar文件都可以使用這個工具打開查看反編譯源碼
轉載,僅供參考。
❹ Linux下編譯多個JAVA文件
把它們都放到一個文件夾。。
然後cd進該文件夾
再用命令:
javac *.java
即可
❺ 在linux下,怎樣編譯java
Linux下java環境變數設置的完整步驟:從java.sun.com上下載JDK的安裝文件,一般是jdk1.5.0_10_XXXX.bin的格式。 解開生成JDK目錄,這里假設JDK安裝在/usr/java/jdk1.5.0_10中: 代碼:sudo chmod 755 jdk1.5.0_10_XXXX.bin sudo ./jdk1.5.0_10_XXXX.bin sudo mkdir /usr/java sudo mv jdk1.5.0_10/ /usr/java代碼: sudo gedit /etc/profile在這個文件的末尾追加:代碼:export JAVA_HOME=/usr/java/jdk1.5.0_10/ #注意把新添加的JDK的bin目錄追加在$PATH的最前面,這樣當系統中安裝有多個JDK版本時,程序會優先搜尋排在最前面的JDK版本。 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH保存/etc/profile之後,別忘了執行下面這個命令,使環境變數的更改馬上起作用。 代碼:source /etc/profile如果執行上面這個命令時報錯,請仔細檢查你在/etc/profile里新增的文本是不是有錯。最後檢查環境變數更改是否生效: 代碼:java -version
❻ 如何在虛擬機上的linux編譯JAVA
下載JDK for linux以jdk-6u24-linux-i586.bin
移動jdk-6u24-linux-i586.bin到/usr/java/
1、給許可權:sudo chmod u+x /usr/java/jdk-6u24-linux-i586.bin
2、安裝jdk:sudo /usr/java/jdk-6u24-linux-i586.bin
3、設置環境變數:
cd
sudo gedit ./.bashrc
在最後加上:
#set java environment
JAVA_HOME=/usr/share/java/jdk1.6.0_24
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export JAVA_HOME PATH CLASSPATH
4、使上面設置的環境變數生效:#source /etc/profile
5、設置ubuntu的默認jdk,原因使因為ubuntu默認有openjdk:
sudo update-alternatives --install /usr/bin/java java /usr/share/java/jdk1.6.0_24/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/share/java/jdk1.6.0_24/bin/javac 300
sudo update-alternatives --config java
選擇對應的jdk編號,回車
6、查看當前jdk版本:java -version
或者直接在新立得軟體包管理器裡面查找sun-java6-jdk
安裝即可