作者qrtt1 (愚人)
站内java
标题Re: [问题] Runtime.exec
时间Mon Nov 19 12:57:10 2007
※ 引述《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
1F:→ HiEArO:我不是很懂你前面两句话的意思...不过你的方法好像不错~ 11/19 21:54
2F:→ HiEArO:我会试看看你提供的这个方法能不能用,谢谢。 11/19 21:55