關掉那可惡的Dos窗口

關掉那可惡的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.config 4個文件,用記事本打開jdk.config文件,將第15行javapath ../jdk1.4/jre/bin/client/jvm.dll 改爲你機器上jdk1.4的相應路徑,同樣要注意是jdk1.4,因爲以前版本的jdk沒有bin/client/jvm.dll文件,你可以使用絕對路徑,如將其改爲javapath D:/JBuilder8/jdk1.4/jre/bin/client/jvm.dll,然後再將21行addpath ../jdk1.4/lib/tools.jar改爲你機器上相應路徑,如addpath D:/JBuilder8/jdk1.4/lib/tools.jar,其它不需要修改,存盤後退出。再用記事本打開jbuilder.config文件,在addpath後加一行,將你的classpath加進去,如addbootpath .(我這裏將類文件和上面4個文件放到了同一個目錄下),然後將最好一行的mainclass com.borland.jbuilder.JBuilder改爲你的主程序,如mainclass com.bhr.ioat.Test,保存退出。然後雙擊JBuilderW.exe試試看,是不是沒有Dos窗口了。注意,如果你要修改上面文件的名字時,一定要保證jbuilder.config、JBuilder.exe、JBuilderW.exe 3個文件的匹配,如改爲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命令就可以了,如:

set classpath=.%classpath%;

set path= D:JBuilder8jdk1.4in;%path%;

start javaw com.bhr.ioat.Test

不過這樣有個問題,就是dos窗口會閃一下,然後再關掉,還算可以湊合。



上面只是提了3個方法,其中通過第一種方法的介紹,你可以舉一反三,如用Intellj Idea的外殼也可以實現。雖然Dos窗口是沒了,不過程序出的異常也同樣看不到了,這裏有幾個方法可以彌補這個問題,(1)將你的輸出重定向到文件;(2)程序中使用log4j做log(一定要catch住所有異常纔可以)。最好,是否真的需要去掉那可惡的Dos窗口,就看你自己了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章