2012-02-18 59 views
4

已經閱讀後在.bat files, nonblocking run/launch.bat文件:啓動JVM的背景

我仍不能達到我所需要的:一旦執行啓動命令有.bat文件關閉。我的問題是,當JVM啓動時,應用程序啓動一個窗口,所以最終有2個窗口處於打開狀態,實際上其中一個窗口(.BAT命令)僅僅是一個啓動過程,並且對用戶沒有任何意義。

我粘貼.BAT代碼在這裏:

 

@echo off 
setlocal 
rem Starts the application 

rem Check for Java Home and use that if available 
if not "[%JAVA_HOME%]"=="[]" goto start_app 
echo. JAVA_HOME not set. Application will not run! 
goto end 
:start_app 
echo. Using java in %JAVA_HOME% 
start "Application" "%JAVA_HOME%/bin/java.exe" -jar lib/pathToMyJarFile 
goto end 

:end 

我想要.BAT進程終止(或至少窗口關閉)後在JVM啓動。

問候, 克里斯蒂安

回答

7

嘗試的javaw.exe代替java.exe的。

+0

謝謝!使用javaw解決了這個問題。 (有或沒有/ b選項開始) – 2012-02-18 21:48:59

+1

我認爲這是一個bat文件使用問題,但它看起來像我們需要使用無控制檯Java啓動程序。從SUN文檔(http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/java.html):javaw命令與java完全相同,只是在javaw中沒有關聯的控制檯窗口。如果不希望顯示命令提示符窗口,請使用javaw。但是,javaw啓動器會顯示一個對話框,其中包含錯誤信息,如果啓動失敗,出於某種原因 – 2012-02-18 22:05:44

+0

繼續我的原始問題... 我也想編寫一個本地(C++)應用程序以編程方式調用JVM。我的問題是在什麼情況下這種真正有用的? 對於我所描述的問題來說,這似乎並不困難,解決起來要容易得多。多謝, Cristian – 2012-02-18 23:08:13

1

使用start /b,看到這一點:

+0

雖然您提供的鏈接提供了非常有用的信息,但這並不能解決問題。謝謝! – 2012-02-18 21:48:00

+0

肯定是基督徒。只需確認一下,你使用了這個 - 「start」應用程序「/ b」%JAVA_HOME%/ bin/java.exe「-jar lib/pathToMyJarFile」,正確嗎? – 2012-02-18 21:52:32

+0

是的,我確實使用過這個命令 – 2012-02-18 22:04:47