⑴ 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如何執行Linux腳本文件
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運行python腳本
如果是jython,也就是運行在Jvm上的python的話,可以使用JSR223,JDK1.6已經包含了該擴展包。JSR223是一個用於解析多種腳本語言的庫包,其中包括Jython。除了JSR223包之外,還需要jython-engine.jar包。
ScriptEngine engine = new ScriptEngineManager().getEngineByName("python");
try
{
engine.eval(new FileReader("./script/listing.py"));
}
catch(ScriptException se)
{
}
catch(IOException ie)
{
}
或者參考:http://www.360doc.com/content/10/0608/23/1404822_32043230.shtml
很久之前用過ScriptEngine,對在Jvm上的腳本語言比如jruby,jython,groovy等支持性都很好,有點忘記了。
⑷ java自帶的資料庫怎麼用,能不能給一段運行的通的代碼.(包括import)
你是指javaDB Derby嗎?Derby資料庫是一個純用Java實現的內存資料庫,屬於Apache的一個開源項目。由於是用Java實現的,所以可以在任何平台上運行;另外一個特點是體積小,免安裝,只需要幾個小jar包就可以運行了。
Derby資料庫有兩種運行模式:
1) 內嵌模式。Derby資料庫與應用程序共享同一個JVM,通常由應用程序負責啟動和停止,對除啟動它的應用程序外的其它應用程序不可見,即其它應用程序不可訪問它;
2) 網路模式。Derby資料庫獨佔一個JVM,做為伺服器上的一個獨立進程運行。在這種模式下,允許有多個應用程序來訪問同一個Derby資料庫。
在Apache上,Derby有4種發布包,這里以bin發布包為例。bin發布包中含有包含了執行derby資料庫工具、設置derby資料庫環境的腳本文件、Demo、jar文件等。
希望幫到你……
1、 安裝Derby資料庫
只需要從Derby官方網站下載Derby的zip或者tar包,解壓就可以了。這里以db-derby-10.4.1.3-bin版本為例,解壓後得到以下目錄:
1) bin目錄,包含了一些工具腳本和設備環境的腳本;
2) demo目錄,包含了一些實常式序;
3) docs目錄,包含了Derby的文檔;
4) javadoc目錄,包含了Derby的API文檔;
5) lib目錄,包含了Derby資料庫的jar文件;
6) test目錄,Derby的一些測試jar包;
2、 使用Derby腳本
Derby提供了幾個腳本來操作Derby資料庫,在使用這些腳本前,你必須先設置好Derby的運行環境。
下面的例子都是在命令行下設置環境變數,這些設置都是臨時的,如果你新開一個命令行窗口,則需要重新設置一遍,如果想要使環境變數永久生效,可以在我的電腦中進行設置。
首先設置好DERBY_HOME這個環境變數,為DERBY_HOME指定你的derby目錄,假如你的derby解壓到了E:\ db-derby-10.4.1.3-bin目錄下,則可以在命令行中如下設置:
set DERBY_HOME=E:\ db-derby-10.4.1.3-bin
將DERBY_HOME\bin目錄添加到PATH環境變數中:
set path=%DERBY_HOME%\bin;%PATH%
這樣可以簡化你稍後在命令行中的輸入,否則你每次都必須使用腳本的全路徑或者你必須到DERBY_HOME\bin目錄中才能執行腳本。
最後需要Derby的jar包添加到classpath環境變數中,在DERBY_HOME%\bin目錄中提供了幾個腳本用於設置classpath,以簡化你手工在classpath中添加jar包的麻煩:
1) setEmbeddedCP。當使用內嵌模式來運行Derby時,可以使用該腳本來設置。該腳本將derby.jar和derbytools.jar添加到環境變數中;
2) setNetworkServerCP。當使用網路模式來運行Derby時,用該腳本來設置Derby服務端的classpath變數。該腳本將derbynet.jar添加到環境變數中;
3) setNetworkClientCP。當使用網路模式來運行Derby時,用該腳本來設置Derby客戶端的classpath變數。該腳本將derbyclient.jar和derbytools.jar添加到環境變數中。
一般只有當你通過derbyrun.jar來運行Derby工具時才會使用這些腳本。
Derby提供了三個工具腳本:1)sysinfo;2)ij;3)dblook。運行這三個腳本時,如果你沒有設置classpath環境變數,這些腳本會自動進行設置。
1) sysinfo
使用sysinfo可以顯示你的Java環境信息和Derby的版本信息。使用方法就是在命令行下直接輸入:
sysinfo.bat
2) dblook
使用dblook可以將全部或者部分資料庫的DDL定義導出到控制台或者文件中。使用方法:
dblook.bat –d <sourceDBUrl> [Options]
3) ij
使用ij工具來進行資料庫交互,執行sql腳本,如查詢、增刪改、創建表等等。在命令行下輸入:
ij.bat
即可啟動ij工具,然後就可以開始執行SQL腳本了。當要退出ij工具時,在命令行下輸入
exit;
即可。
3、 使用ij腳本
1) 運行內嵌模式的Derby資料庫
在命令行中輸入ij.bat後啟動ij工具。然後通過如下命令創建資料庫,並與資料庫創建連接:
connect 『jdbc:derby:firstdb;create=true』;
通過connect命令可以與指定資料庫創建連接,通過一個JDBC URL來指定與哪個資料庫創建連接。ij命令是不區分大小寫的。
參數中jdbc:derby是Derby資料庫的驅動協議;firstdb是資料庫命,由於沒有指定路徑,資料庫將會被創建在當前你命令行下所在的目錄下;create=true表示如果資料庫不存在,則創建該資料庫;「;」是ij命令的終止符。
當資料庫創建成功時,Derby會在當前你命令行下所在的目錄下創建一個與資料庫命一致(這里是firstdb)的目錄,其中存放了資料庫的文件。
與資料庫連接上後,就可以開始執行SQL腳本了,如創建一個表格:
create table firsttable(id int primary key, name varchar(20));
然後插入記錄:
insert into firsttable values(1, 『Hotpepper』);
也可以執行查詢:
select * from firsttable;
也可以通過run命令來執行sql文件:
run 'E:\derby\demo\programs\toursdb\ToursDB_schema.sql';
最後通過exit;來退出ij工具。
你可以在當前你命令行下所在的目錄中找到一個derby.log的日誌文件,derby在其中記錄的資料庫啟動、關閉的信息。
2) 運行網路模式的Derby資料庫
這種模式下,需要使用兩個控制台窗口,一個用於啟動Derby資料庫服務端,另一個做為訪問Derby資料庫的客戶端。
可以通過DERBY_HOME\bin目錄下的startNetworkServer.bat來啟動Derby資料庫服務端,只需要在命令行中輸入:
startNetworkServer.bat
資料庫就啟動了,啟動成功會在控制台輸出如下信息:
已使用基本伺服器安全策略安裝了安全管理程序。
Apache Derby Network Server - 10.4.1.3 - (648739) 已啟動並且已准備好 2008-09-06
00:38:12.540 GMT 時在埠 1527 上接受連接
在另一個控制台使用ij命令訪問Derby資料庫服務端,在輸入ij.bat啟動ij工具後,通過如下命令建立與服務端的連接,並創建一個資料庫:
connect 'jdbc:derby://localhost:1527/seconddb;create=true';
參數中的資料庫命部分和內嵌模式不同,這里使用了「//localhost:1527/」,訪問網路模式的URL需要指定伺服器的IP地址和埠,其它的就和內嵌模式一樣了。
與服務端連接上後,就可以開始執行SQL腳本了,如創建一個表格:
create table firsttable(id int primary key, name varchar(20));
然後插入記錄:
insert into firsttable values(1, 『Hotpepper』);
也可以執行查詢:
select * from firsttable;
也可以通過run命令來執行sql文件:
run 'E:\derby\demo\programs\toursdb\ToursDB_schema.sql';
最後通過exit;來退出ij工具
4、 在Java應用程序中訪問Derby資料庫
使用Java代碼訪問Derby資料庫與訪問其它資料庫的區別如下:
1) JDBC驅動的不同;
2) 資料庫連接URL的不同;
3) 在訪問內嵌模式資料庫時,需要顯示關閉資料庫。
下面分別實例訪問內嵌模式和網路模式Derby資料庫的代碼
1) 訪問內嵌模式Derby資料庫
String driver = 「org.apache.derby.jdbc.EmbeddedDriver」;
String url = 「jdbc:derby:firstdb;create=true」;
Connection conn;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url);
}catch(Exception e) {
……
}finally {
……
DriverManager.getConnection("jdbc:derby:;shutdown=true");
}
建立好連接後,其它的數據操作,如查詢、更新數據都和其它資料庫一樣,這里不詳述。有一點需要注意,通過Java應用程序訪問內嵌模式Derby資料庫時,應用程序有責任需要在程序結束時關閉Derby資料庫,如上面代碼finally中的
DriverManager.getConnection("jdbc:derby:;shutdown=true");
shutdown參數用於關閉Derby資料庫,如果url中指定了資料庫命,則只會關閉指定的資料庫,而不會關閉整個Derby資料庫。資料庫關閉成功時,Derby會拋出一個錯誤碼為XJ015和一個08006的異常表示關閉成功,應用程序可以不處理這兩個異常。
2) 訪問網路模式Derby資料庫
網路模式和內嵌模式的不同出在於:
A. 資料庫連接URL的不同;
B. 應用程序退出時無效關閉Derby資料庫;
C. 資料庫驅動的不同;
String driver = 「org.apache.derby.jdbc.ClientDriver」;
String url = 「jdbc:derby: //localhost:1527/firstdb;create=true」;
Connection conn;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url);
}catch(Exception e) {
……
}
由於網路模式下,Derby資料庫做為一個獨立運行的資料庫,可以被多個應用程序所訪問,所以應用程序在運行結束時不應該關閉Derby資料庫。
⑸ 如何使用腳本配置java環境變數
下載安裝java JDK,注意安裝的路徑,我們需要進行環境變數的配置。
安裝完成以後,配置環境變數
環境變數的配置這里就以win7為例:右擊計算機——屬性——高級系統設置。
點擊下面的環境變數,進入後在系統變數一欄點擊新建,然後輸入如下:
名稱:JAVA_HOME
變數值:剛剛安裝的路徑
在上面的一欄中點擊新建,內容如下:
名稱:CLASS_PATH
變數值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
一定要注意所有符號都是英文狀態的。
在系統環境變數中有一個path的環境變數,選中後選擇編輯,將JAVA_HOME添加進去即可,如圖:在最後加上;%JAVA_HOME%\bin;
測試java環境是否配置成功
按下win+R鍵,輸入cmd調出命令符控制窗口。輸入:java -version 後查看是否顯示版本即可。
⑹ java怎麼點用python腳本
首先得聲明一下,java是java,python是python,你用java得環境跑python這不是找麻煩嗎,但是並不是說不行,java有一個Jpython得庫,你可以下載一下,這方面原理設計jni技術,建議了解一下,如果單純想運行一個腳本可以找Jpython得api文檔看看
⑺ 怎麼使用java運行python腳本
引用 org.python包
1 PythonInterpreter interpreter = new PythonInterpreter();
2 interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); "); ///執行python腳本
2. 執行python .py文件
1 PythonInterpreter interpreter = new PythonInterpreter();
2 InputStream filepy = new FileInputStream("D:\\demo.py");
3 interpreter.execfile(filepy); ///執行python py文件
4 filepy.close();
3. 使用Runtime.getRuntime()執行腳本文件
這種方式和.net下面調用cmd執行命令的方式類似。如果執行的python腳本有引用第三方包的,建議使用此種方式。使用上面兩種方式會報錯java ImportError: No mole named arcpy。
1 Process proc = Runtime.getRuntime().exec("python D:\\demo.py");
2 proc.waitFor();
本回答由電腦網路分類達人 朱冬梅推薦
評論
1 0
瓶邪
採納率:92% 來自團隊:網路知道電腦團 擅長: 電腦/網路 生活 電子數碼
其他回答
如果是jython,也就是運行在Jvm上的python的話,可以使用JSR223,JDK1.6已經包含了該擴展包。JSR223是一個用於解析多種腳本語言的庫包,其中包括Jython。除了JSR223包之外,還需要jython-engine.jar包。
ScriptEngine engine = new ScriptEngineManager().getEngineByName("python");
try
{
engine.eval(new FileReader("./script/listing.py"));
}
catch(ScriptException se)
{
}
catch(IOException ie)
{
}
⑻ 小菜豆java腳本怎麼用
1、首先在應用轉生里導入小菜豆java腳本建議8.8.20版本左右,下載綠豆模塊,在模塊區勾選綠豆模塊。
2、長按模塊選著模塊作用域,進入作用域,勾選QQ,重啟即可使用。