java遠端呼叫linux上jar包
首先在遠端伺服器上編寫一個測試指令碼test.sh,並賦予可執行許可權:chmod +x test.sh
#!/bin/bash echo $1$1是指令碼傳進來的第一個引數,現在列印一下傳進來的第一個引數。
在pom中新增依賴
|
package cn.ctyun.audit.utils;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
public class RemoteShellTool {
private Connection conn;
private String ipAddr;
private String charset = Charset.defaultCharset().toString();
private String userName;
private String password;
public RemoteShellTool(String ipAddr, String userName, String password,
String charset) {
this.ipAddr = ipAddr;
this.userName = userName;
this.password = password;
if (charset != null) {
this.charset = charset;
}
}
public boolean login() throws IOException {
conn = new Connection(ipAddr);
conn.connect(); // 連線
return conn.authenticateWithPassword(userName, password); // 認證
}
public boolean exec(String cmds) {
InputStream in = null;
String result = "";
boolean flag = false;
try {
if (this.login()) {
Session session = conn.openSession(); // 開啟一個會話
session.execCommand(cmds);
in = session.getStdout();
result = this.processStdout(in, this.charset);
session.close();
conn.close();
flag = true; }
} catch (IOException e1) {
e1.printStackTrace();
}
return flag;
}
public String processStdout(InputStream in, String charset) {
byte[] buf = new byte[1024];
StringBuffer sb = new StringBuffer();
try {
while (in.read(buf) != -1) {
sb.append(new String(buf, charset));
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
public static void main(String[] args) {
RemoteShellTool tool = new RemoteShellTool("hdp03", "root",
"hadoop", "utf-8");
boolean exec = tool.exec("/root/apps/jdk1.7.0_67/bin/java -jar AuditService.jar ");
System.out.print(exec);
}
}
注意:如果要執行jar命令需要寫jdk的全路徑,否則會找不到java的環境變數!如果不想輸入密碼,可以參考下面的文章
相關推薦
java遠端呼叫linux上jar包
首先在遠端伺服器上編寫一個測試指令碼test.sh,並賦予可執行許可權:chmod +x test.sh#!/bin/bash echo $1$1是指令碼傳進來的第一個引數,現在列印一下傳進來的第一個引數。在pom中新增依賴<dependency> <
java遠端呼叫linux的命令或者指令碼
Java通過SSH2協議執行遠端Shell指令碼(ganymed-ssh2-build210.jar) 使用步驟如下: 1.導包 官網下載: http://www.ganymed.ethz.ch/ssh2/ maven座標: [java] view plain copy print?
Elasticsearch5.0在java中呼叫需要的jar包
pom.xml檔案 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>transport</artifactId><vers
java呼叫openvc時jar包和dll檔案的引入
openvc裡面的jar包和dll檔案引入 剛開始學習影象處理的時候,選擇了openvc然後下載了安裝了。如圖下然後找了半天也沒找到要的jar包和dll檔案。在這裡分享一下,因為找不到我打算去csdn裡面下載的,結果要積分很是煩人。 本人是java開發的就匯入j
Linux以jar包形式啟動java專案
1、安裝Eclipse打包外掛Fat Jar 用以打jar Fat Jar Eclipse Plug-In是一個可以將Eclipse Java Project的所有資源打包進一個可執行jar檔案的小
本地java連結遠端伺服器Linux上redis出錯解決方案
在redis.conf檔案中bind 127.0.0.1加上#號 在redis.conf檔案中把 #requirepass 的#號去掉,在後面加上鍊接redis-server的密碼 在本
JAVA-通過介面讀取本地jar包,並呼叫其中實現了介面的類中的方法
URLClassLoader classLoader = new URLClassLoader(new URL[]{new URL("jar 本地路徑,例如:file:D:/project/inputsplit-1.0-SNAPSHOT.jar")}, Thread.currentThread().ge
Linux執行jar包報錯:Exception in thread "main" java.lang.UnsupportedClassVersionError: ...
[[email protected] java]# java -jar socketTest.jarException in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot
redis在linux中安裝步驟以及java遠端呼叫redis
redis在linux中安裝步驟: 1.安裝準備環境:安裝gcc yum install gcc-c++ 2.下載redis安裝包 wget http://download.redis.io/releases/redis-5.0.0.tar.gz 3.解壓redis tar
java遠端呼叫ssh2執行Linux命令
java SSH2遠端登入Linux服務執行命令 前一段時間工作中用到了java遠端呼叫Linux伺服器,執行相關命令,因為比較常用,故此,在部落格中記錄下來。其中用到了ganymed-ssh2這個jar包,可以在http://www.ganymed.ethz
java本地呼叫cmd,shell命令,遠端呼叫Linux執行命令方法總結
有時候經常會碰到需要遠端呼叫Linux或者本地呼叫Linux或者本地呼叫cmd的一些命令,最近小結了一下這幾種用法 本地呼叫cmd命令 @Test public void testCmd()throws Exception{
IntelliJ IDEA java項目導入jar包,打jar包
選項 可能 version make set 最好 tar project 沒有 一、導入 1、java項目在沒有導入該jar包之前,如圖: 2、點擊 File -> Project Structure(快捷鍵 Ctrl + Alt + Shift + s),
(轉)IntelliJ IDEA java項目導入jar包,打jar包
標簽 blank 窗口 ava setting structure 綠色 target bsp 以下為轉載原文:https://www.cnblogs.com/yulia/p/6824058.html 一、導入 1、java項目在沒有導入該jar包之前,如圖:
nodejs連線Access資料庫,出現Error: Spawn C:\WINDOWS\SysWOW64\cscript.exe error Java專案生成可執行jar包、exe檔案以及在Windows下的安裝檔案
因為集成了第三方的資料庫,所以需要獲取資料庫的資料 使用 var connection = ADODB.open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+config.id_path+';');  
mac通過samba伺服器遠端管理linux上檔案
1.下載及安裝: yum -y install samba 我的版本是CentOs7,使用的yum安裝,可以解決很多的包依賴關係,引數y,設定詢問全部yes。 2.配置samba: &n
怎麼在Linux上抓包分析
怎麼在Linux上抓包分析 1、在Linux上抓包 例如在Ubuntu上,用命令抓包, tcpdump tcp -i any -s0 -w desk.cap 用 sz desk.cap 把資料包匯入本地Windows 2、在windows上用w
怎麽在Linux上抓包分析
tcp src any 技術分享 包導入 shark info tcpdump 篩選 怎麽在Linux上抓包分析 1、在Linux上抓包 例如在Ubuntu上,用命令抓包, tcpdump tcp -i any -s0 -w desk.cap 用 sz desk.ca
windows下的navicat遠端連線linux上的mysql
windows下的navicat遠端連線linux上的mysql 1.開放防火牆的埠號3306 vim /etc/sysconfig/iptables 2.重啟防火牆 service iptables restart 3.授權mysql遠端登入 grant all privileg
[Java] Jar2Exe,jar2工具將jar包轉換成exe可執行檔案的詳細過程
[Java] Jar2Exe,jar2工具將jar包轉換成exe可執行檔案的詳細過程 軟體下載地址 連結: https://pan.baidu.com/s/1Ei39JYGpb7wyS9UkMl1GTQ 提取碼: yvkv 一、首先將程式匯出為jar包 1、在MyEcli
java遠端連線linux,執行指令碼命令
1.maven的POM.xml需要配置包 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</artifac