Re: [問題] Runtime.exec

看板java作者 (愚人)時間18年前 (2007/11/19 12:57), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串6/6 (看更多)
※ 引述《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
文章代碼(AID): #17GHUdeF (java)
討論串 (同標題文章)
文章代碼(AID): #17GHUdeF (java)