Re: [問題] Runtime.exec
※ 引述《HiEArO (xsd)》之銘言:
: 我正在寫一個安裝程式,使用者可以選擇他想要安裝的路徑
: 而我這個程式有使用到hsql,所以就會把hsql.jar安裝到使用者指定的路徑
: 但是要使用hsql.jar,就必須要設好CLASSPATH
: 比如說,安裝到 C:\java_test
: 那CLASSPATH就必須設定成 .;C:\java_test
: 所以必須要讓程式去執行 SET CLASSPATH=.;C:\java_test
: ^^^^^^^^^^^^
: 這部分在程式會去取使用者所選擇的路徑
: 不會是固定的,這邊是舉例路徑
: 所以我太確定要如何實作,爬了一下文,得到的資訊不多。
: 找了網路的資料,怎麼試還是沒有進展。
: 所以來這邊問一下,看是否有高人能夠指點我一下,謝謝。
: #CODE
: Runtime rt = Runtime.getRuntime();
: try {
: 1.Process proc = rt.exec("cmd.exe /c SET CLASSPATH=.;C:\\java_test");
: 2.Process proc = rt.exec("SET CLASSPATH=.;C:\\java_test");
: } catch() {
: System.out.println("error");
: }
: 1. 沒顯示任何訊息 但是我執行hsql.jar還是找不到
: 所以覺得他並沒有確實設好我要的CLASSPATH
: 2. 直接出現error
: 這到底該怎設,有高人能指點一下嗎@Q@
: 還有 怎麼 "使用指令" 去看我現在的CLASSPATH是什麼
: 還有,我寫了一個bat去設CLASSPATH
: 但是,設好後,我把命令提示字元關掉後,發現...
: 剛設的CLASSPATH就消失了= =
: 要怎麼樣使用指令設,才不會讓它消失??
: 我不要使用windos上面的介面去設,我想要使用指令。
: 謝謝。
可是這樣就可以執行了 @"@
您要用外部執行嗎 !?
============================================================
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.hsqldb.Server;
public class HsqlServerFactory {
public static Server getServer(int port, String name, String path) {
Server s = new Server();
s.setPort(port);
s.setDatabaseName(0, name);
s.setDatabasePath(0, path);
return s;
}
public static void main(String[] args) throws IOException {
Server s = HsqlServerFactory.getServer(16384, "mydb", "mydb");
s.start();
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in));
while (true) {
String sig = buf.readLine();
if ("exit".equals(sig)) {
break;
}
}
s.stop();
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.219.202
→
11/19 21:54, , 1F
11/19 21:54, 1F
→
11/19 21:55, , 2F
11/19 21:55, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):