當前位置:首頁 » 編程軟體 » shell腳本啟動java程序

shell腳本啟動java程序

發布時間: 2023-03-04 17:13:37

⑴ 啟動java應用的Shell腳本

對於Java應用程序(非web應用) 在部署後 常常需要一個啟動腳本來載入一些第三方的jar包 並啟動應用

對於java應用程序 我一般喜歡將程序的目錄結構寫成如下的方式

myapp

| lib

| bin

| packages

一些配置文件和屬性文件

一個startup sh 或bat啟動腳本

其中 packages是程序的根包 其中有子包和class文件等

在包中 有一個Main calss的類 這個作為程序的入口

下面給出一個最一般的寫法

startup sh #!/bin/sh

programdir=

num=$#

temp=$CLASSPATH

#setting libs path

libs= /lib/*

append(){

temp=$temp : $

}

for file in $libs; do

append $file

done

export CLASSPATH=$temp: : /:$programdir

export LANG=zh_CN

nohup java classpath $CLASSPATH packaages xxx yyy Main &

這樣 只要按照上面的方式組織程序 啟動腳本就需要改動下Main前面的包路徑即可

nohup 上面腳本中最後一行前有nohup 這是將程序的輸入輸出都將附加到當前目錄的 nohup out 文件中

lishixin/Article/program/Java/hx/201311/25993

⑵ 用shell怎麼調用java程序

你是在linux環境下運行吧!
如果你是要編譯執行單個java文件,當然用javac,和java,如果是在一個shell腳本中妄圖調用java程序,假如這個程序是個jar包,也許可以這么干:在你能保證的路徑下放入可執行的jar包,然後在腳本中寫到:java -jar jar包路徑+jar包名稱.jar,不信可以在終端使用該命令!
------最後,希望採納!畢竟我們純手打!

⑶ 如何在java中執行shell腳本

使用shell腳本啟動zookeeper步驟:採用shell腳本啟動zookeeper,首先新建文件start.sh寫入內容(rh1rh2rh3分別是主機名。此處需要ssh):#!/bin/shecho「startzkServer…」foriinrh1rh2rh3dossh$i「/usr/local/zookeeper3.4/bin/zkServer.shstart」done寫好後保存,加上執行許可權:chmo+xstart.sh運行:./start.sh看見啟動成功了,有輸出。但是輸入jps查看的時候,會發現沒有QuorumPeerMain進程。說明沒有啟動成功。分析原因首先知道互動式shell和非互動式shell、登錄shell和非登錄shell是有區別的在登錄shell里,環境信息需要讀取/etc/profile和~/.bash_profile,~/.bash_login,and~/.profile按順序最先的一個,並執行其中的命令。除非被—noprofile選項禁止了;在非登錄shell里,環境信息只讀取/etc/bash.bashrc和~/.bashrc手工執行是屬於登陸shell,腳本執行數據非登陸shell,而我的linux環境配置中只對/etc/profile進行了jdk1.6等環境的配置,所以腳本執行/usr/local/zookeeper3.4/bin/zkServer.shstart啟動zookeeper失敗了解決方法把profile的配置信息echo到.bashrc中echo『source/etc/profile』~/.bashrc在/zookeeper/bin/zkEnv.sh的中開始位置添加exportJAVA_HOME=/usr/local/jdk1.6(就像hadoop中對hadoop-env.sh的配置一樣)採用shell腳本啟動zookeeper,首先新建文件start.sh寫入內容(rh1rh2rh3分別是主機名。此處需要ssh):#!/bin/shecho「startzkServer就可以了。

⑷ 如何在java中執行shell腳本

1、最常用的方法:

Processp=Runtime.getRuntime().exec(SHELL_FILE_DIR+RUNNING_SHELL_FILE+
""+param1+""+param2+""+param3);
intrunnngStatus=p.waitFor();

2、通過ProcessBuilder進行調度,這種方法比較直觀,而且參數的設置也比較方便:

ProcessBuilderpb=newProcessBuilder("./"+RUNNING_SHELL_FILE,param1,
param2,param3);
pb.directory(newFile(SHELL_FILE_DIR));
intrunningStatus=0;
Strings=null;
try{
Processp=pb.start();
try{
runningStatus=p.waitFor();
}catch(InterruptedExceptione){
e.printStackTrace();
}
}catch(IOExceptione){
e.printStackTrace();
}
if(runningStatus!=0){

}
return;

參數說明:
RUNNING_SHELL_FILE:要運行的腳本
SHELL_FILE_DIR:要運行的腳本所在的目錄; 當然你也可以把要運行的腳本寫成全路徑。
runningStatus:運行狀態,0標識正常。 詳細可以看java文檔。
param1, param2, param3:可以在RUNNING_SHELL_FILE腳本中直接通過1,1,2,$3分別拿到的參數。

⑸ 怎麼在shell腳本中運行java代碼

// 用法:Runtime.getRuntime().exec("命令");

String shpath="/test/test.sh"; //程序路徑
Process process =null;
String command1 = 「chmod 777 」 + shpath;
try {
Runtime.getRuntime().exec(command1 ).waitFor();
} catch (IOException e1) {
e1.printStackTrace();
}catch (InterruptedException e) {
e.printStackTrace();
}

String var="201102"; /參數
String command2 = 「/bin/sh 」 + shpath + 」 」 + var;
Runtime.getRuntime().exec(command2).waitFor();

⑹ shell定時執行腳本啟動jar程序的問題

在腳本里聲明java環境變數,加上下列語句在#! /bin/sh底下,注意.後面有空格
. ~/.bash_profile
. /etc/profile

⑺ java怎麼執行shell腳本

如果shell腳本和java程序運行在不同的伺服器上,可以使用遠程執行Linux命令執行包,使用ssh2協議連接遠程伺服器,並發送執行命令就行了,ganymed.ssh2相關mave配置如下,你可以自己網路搜索相關資料。

如果shell腳本和java程序在同一台伺服器上,

這里不得不提到java的process類了。

process這個類是一個抽象類,封裝了一個進程(你在調用linux的命令或者shell腳本就是為了執行一個在linux下執行的程序,所以應該使用process類)。

process類提供了執行從進程輸入,執行輸出到進程,等待進程完成,檢查進程的推出狀態,以及shut down掉進程。

<dependency>
<groupId>com.ganymed.ssh2</groupId>
<artifactId>ganymed-ssh2-build</artifactId>
<version>210</version>
</dependency>

本地執行命令代碼如下:

Stringshpath="/test/test.sh";//程序路徑
Processprocess=null;
Stringcommand1=「chmod777」+shpath;
process=Runtime.getRuntime().exec(command1);
process.waitFor();

⑻ 如何在java中執行shell腳本

在java中執行shell腳本 用法:Runtime.getRuntime().exec("命令");
String shpath="/test/test.sh"; //程序路徑
Process process =null;
String command1 = 「chmod 777 」 + shpath;
try {
Runtime.getRuntime().exec(command1 ).waitFor();
} catch (IOException e1) {
e1.printStackTrace();
}catch (InterruptedException e) {
e.printStackTrace();
}

String var="201102"; /參數
String command2 = 「/bin/sh 」 + shpath + 」 」 + var;
Runtime.getRuntime().exec(command2).waitFor();

⑼ linux shell腳本如何啟動一個java進程

在shell裡面直接調用即可。
    1,編譯一個java文件為a.class。
    2,編寫shell腳本b
.sh

#!/bin/bash
java a.class    3,放在同一目錄下運行shell即可。如果要後台運行,bash
b.sh&

⑽ 怎樣啟動JAVA

1、首先我們打開myeclipse,點擊左上角的File。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:743
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1007
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:713
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:875
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1122
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:347
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:225
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:911
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:871