作者lingerkptor (苍龙之风)
看板java
标题[问题] 执行外部Jar
时间Mon Oct 17 20:51:09 2011
jdk : jdk 1.6
OS : windows 7
最近看到有Runtime及Process类别可以使用来呼叫外部程式
所以自己写了一个简单练习的范例来试试看
外部程式程式码:
http://pastie.org/pastes/2711104
jar 配置档内容: Main-Class: org.test.TestServer
外部程式有开命令提示字元测试过可执行
测试程式程式码:
http://pastie.org/2711270
预期 0 现实 0
1 1
run1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10
close
q.可以请问一下..怎样才能达到预期的呼叫效果?
如果有哪里不清楚的部分我可以再补,感谢~
学习的起源:
因为目前我在自己写个小server专门给我自己服务的
不过目前那个小server基本上都是运作在cmd中
,最近想加个GUI的介面..不想动到之前太多的程式码..
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.24.218.117
1F:推 PsMonkey:都是 java 那干麽用 Runtime 来执行,直接呼叫 main 啊 10/17 22:39
可能是我说明有点不清楚的关系吧
原因 不想要关闭程式() 而 关闭server(外部程式)..
程式只是为了方便管理
注:後来看到最後,操作还蛮复杂的.
http://ppt.cc/jTY4
※ 编辑: lingerkptor 来自: 163.20.28.30 (10/18 19:52)
code抓到问题..
首先使用
File nowfile = new File(".");
nowfile.toURI().toURL().getPath();
=>这个的出来结果是 "/C:/Users/Master/Dropbox/workspace/ClientTest/./"
注:依照每个人放code资料夹不同而不同
在cmd下,会产生出错误(错误点在 /./ [开cmd去测的])
目前暂定的解决方式:
Runtime.getRuntime().exec("cmd /c start java -jar "+ jarPath)
把cmd独立出来执行..(来实现程式关闭,server不关闭的需求)
※ 编辑: lingerkptor 来自: 163.20.28.30 (10/18 21:59)