游客:
注册
|
登录
|
帮助
网友俱乐部
»
网络编程
»
JAVA教程
» 关掉那可恶的Dos窗口
网友生活网
|
网友学堂
如何获得金币?
诚招斑竹
IP归属地查询 PR查询 收录查询 whois查询
免费超短2级域名,your.jpy.cc
传世私服
|
传奇世界私服
注册亚洲交友中心,找个人来同居吧!
7CODE查杀恶意代码,守护您的电脑
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题:
[基础]
关掉那可恶的Dos窗口
ljjk5
元帅
UID 46706
精华
1
积分 99426
帖子 49691
威望 554
金币 48489
热心 505
阅读权限 100
注册 2007-2-25
状态 离线
#1
使用道具
发表于 2007-12-31 12:29
资料
个人空间
主页
短消息
加为好友
关掉那可恶的Dos窗口
用过Java的人都知道,每次运行Java程序都要打开一个可恶的Dos窗口,要是能像IE、Office等Windows程序一样运行该多好。也许有人会想到,JBuilder运行时不就没有Dos窗口吗,但它是用C或C++写的一个外壳程序,可惜我不会其它语言,那该怎么办?其实只要你善于观察、研究,有很多办法可以解决的。这里给你3个解决方法,让你的程序从此告别Dos窗口!
(一)巧用JBuilder的外壳:仔细观察JBuilder安装目录下的bin目录(注意,这里以JBuilder8为例,低版本的JBuilder会稍微有些不同),你会发现jbuilder.config、JBuilder.exe、JBuilderW.exe及jdk.config4个文件,用记事本打开jdk.config文件,将第15行javapath../jdk1.4/jre/bin/client/jvm.dll改为你机器上jdk1.4的相应路径,同样要注意是jdk1.4,因为以前版本的jdk没有bin/client/jvm.dll文件,你可以使用绝对路径,如将其改为javapathD:/JBuilder8/jdk1.4/jre/bin/client/jvm.dll,然后再将21行addpath../jdk1.4/lib/tools.jar改为你机器上相应路径,如addpathD:/JBuilder8/jdk1.4/lib/tools.jar,其它不需要修改,存盘后退出。再用记事本打开jbuilder.config文件,在addpath后加一行,将你的classpath加进去,如addbootpath.(我这里将类文件和上面4个文件放到了同一个目录下),然后将最好一行的mainclasscom.borland.jbuilder.JBuilder改为你的主程序,如mainclasscom.bhr.ioat.Test,保存退出。然后双击JBuilderW.exe试试看,是不是没有Dos窗口了。注意,如果你要修改上面文件的名字时,一定要保证jbuilder.config、JBuilder.exe、JBuilderW.exe3个文件的匹配,如改为Test.config、Test.exe、TestW.exe,任何的不匹配都可能运行不了你的程序。其实jbuilder.config文件主要就是classpath的设置,你可以根据需要删除里面好多内容的,留着你慢慢研究吧。
(二)将你的程序打包成Jar文件:首先要安装jdk,注意一定是那种exe的安装文件,虽然你可以从别的机器上copy一个安装过的jdk使用,但是这里不行,为什么?稍后再告诉你。装完Jdk以后,到安装目录的demojfcNotepad下,双击Notepad.jar,怎么样,是不是没有Dos窗口了,秘密在哪里,有两点。(1)jdk在安装过程中会将jar文件的打开方式关联到javaw.exe文件。什么是javaw.exe?其实和java.exe一样,只不过运行程序时没有dos窗口。(2)就是那个jar文件了,如果你不会生成jar,还是先去查查别的资料吧。用winzip解开Notepad.jar,到META-INF目录下,打开MANIFEST.MF文件,看到了吧,里面有一句Main-Class:Notepad,换成你自己的类就可以了。需要注意的是Main-Class:后面有一个空格,如果少了的话,应该就起不来你的程序了。
(三)通过Windows的start命令:这个就简单多了,写一个启动你程序的批处理文件,一定要用javaw命令来运行,然后在javaw命令前加上start命令就可以了,如:
setclasspath=.%classpath%;
setpath=D:JBuilder8jdk1.4in;%path%;
startjavawcom.bhr.ioat.Test
不过这样有个问题,就是dos窗口会闪一下,然后再关掉,还算可以凑合。
上面只是提了3个方法,其中通过第一种方法的介绍,你可以举一反三,如用IntelljIdea的外壳也可以实现。虽然Dos窗口是没了,不过程序出的异常也同样看不到了,这里有几个方法可以弥补这个问题,(1)将你的输出重定向到文件;(2)程序中使用log4j做log(一定要catch住所有异常才可以)。最好,是否真的需要去掉那可恶的Dos窗口,就看你自己了。
网友
ljjk5
签名 - 网友社区
===
[广告]
免费域名(Free Subdomain)
免费空间(Free hosting)
PR查询(Google Pagerank)
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
当前时区 GMT+8, 现在时间是 2008-9-8 10:14
信产部ICP备案:
京ICP备05066424号
北京市公安局网监备案:1101050648号
Powered by
Discuz!
5.5.0
TOP
清除 Cookies
-
联系我们
-
网友俱乐部
-
Archiver
-
WAP