2011-12-14 10 views
5

Java GUIアプリケーションをWindowsからいくつかのJVMパラメータを追加して起動したいとします。例えば
エンドユーザ向けにJava GUIプログラムを便利に起動する方法

javaw -Djava.util.logging.config.file=logging.properties -jar MyGUI.jar 

私はバッチファイルに上記の行を追加すると、ユーザーは、バッチ・ファイル名をダブルクリックすることができます。
それは素晴らしいです。しかし、厄介な副作用が1つあります:GUIを起動する前にバッチファイルcmdウィンドウを開きます

CMDウィンドウを開かずにダブルクリックするバッチファイル(または上記のニーズに合ったいくつかの他のファイル)によって、JavaのGUIアプリケーションを起動するシンプル方法はありますか?

+0

Windowsショートカットを使用してください。 – chance

+0

@chance困ったことに助けてください。あなたは私の質問を理解していません。 – MockerTim

+0

javawへのショートカットをダブルクリックすると、cmdウィンドウなしでGUIが起動しませんか?それとも、顧客のためにショールカットを作ることは不可能ですか? – chance

答えて

6

私はいくつかの方法を参照してください。Launch4J(先端のためのCodeBrickieのおかげで)またはInstall4J/Exe4Jによって生成されるよう

  • は、ランチャーを使用してください。 Launch4Jでは、EXEファイルと同じ名前のファイル.l4j.iniを作成して、パラメータを調整することができます。 Exe4Jの場合、生成されたexeファイルの隣にドロップする.vmoptionsファイルで余分なパラメータを指定することができます。
  • javaw.exeへのショートカットを作成し、それにアイコンを付け、「開始」フィールドをアプリケーションのディレクトリに設定し、「ターゲット」フィールドにjavawのパラメータを指定します。
  • javawを起動するVBスクリプトを作成します。VBSランタイムがwscriptを使用するように設定されている場合、コンソールウィンドウは表示されません。
  • Java Web Startを使用している場合は、Java Webstart with parametersで指定されているJNLPファイルをユーザーに調整させることができます。
+0

Upvote。 javaw.exeへのショートカットは本当に簡単です。 – MockerTim

3

ます。またscriptingを使用することができます

start javaw -Djava.util.logging.config.file=logging.properties -jar MyGUI.jar 

をお試しください:

VBS:

Const HIDDEN_WINDOW = 12 

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set objStartup = objWMIService.Get("Win32_ProcessStartup") 

Set objConfig = objStartup.SpawnInstance_ 
objConfig.ShowWindow = HIDDEN_WINDOW 
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process") 
errReturn = objProcess.Create("Notepad.exe", null, objConfig, intProcessID) 

のJScript:

var WindowStyle_Hidden = 0 
var objShell = WScript.CreateObject("WScript.Shell") 
var result = objShell.Run("cmd.exe /c abc.bat", WindowStyle_Hidden) 

最後に、汎用ユーティリティyがありますウィンドウを非表示にするには、CMDOWHidden Start ($20)などがあります。 startは同じことをしているので、私はどちらも使っていません。ユーザーは、Java GUIアプリケーションを起動したい

+0

これらのユーティリティは何ですか? – MockerTim

+0

例が追加されました。 –

3

..

エンドユーザーのための最高のユーザーエクスペリエンスは、アプリを起動して提供されます。 Java Web Startを使用してください。 JWSは、デスクトップショートカットとメニュー項目をインストールして、アプリを起動できます。

..fromのWindows ...

JWSもOS X &の* nix上で動作します。