Judul di atas tidak sepenuhnya benar untuk artikel berikut, Ketika kita membuat aplikasi desktop menggunakan java, maka file akhir yang dihasilan adalah file berekstensi *.jar, hal ini tidak sama seperti ketika kita melakukan kompilasi dengan native compiler yang akan menghasilakan file executable yang bisa langsung dieksekusi pada OS, java menggunakan Virtual Machine untuk menjalankannya, sehingga file jar tadi akan dijalankan diatas JVM.
Untuk menjalankan jar yang telah kita buat, adalah dengan menggunakan command prompt, yaitu dengan perintah java -jar app.jar atau javaw -jar app.jar
Atau dibuat batch file agar bisa langsung di klik, namun cara ini tetap akan menampilkan kotak command prompt, ketika aplikasi dijalankan.
Cara lain adalah dengan membuat file launcher yang akan mengeksekusi perintah untuk menjalankan file jar. Cara ini juga dipakai oleh eclipse, dimana eclipse merupakan java based, tetapi ketika running, yang di jalankan adalah eclipse.exe bukannya eclipse.jar
Untuk memulainya, tools yang dibutuhkan adalah NSIS, sebuah tools untuk membuat instalasi program yang berjalan pada windows. Salah satu feature yang ada pada tools ini adalah, dapat menjalankan perintah command prompt.
Tools ini berbasis script yang akan dicompile menjadi file executable.
Dengam trik ini, kita bisa membuat script untuk memanggil java, tanpa harus membuka command prompt.
Untuk memulai install terlebih dahulu NSIS
Scriptnya adalah sebagai berikut, untuk selanjutnya dapat dicompile menggunakan NSIS Tools.
;————————————————–
; NSIS Script to Launch Java Application
; (c)2009, Heru Prayugo
;————————————————–
Name “Java Launcher” ;Application Name
;Icon “Paste.ico” ;icon file
OutFile “DocumentEditor.exe” ;Output Executable File
;Properties To generate
VIAddVersionKey “ProductName” “DocumentEditor”
VIAddVersionKey “Comments” “A Test Java Launcher Application”
VIAddVersionKey “CompanyName” “Rux System “
VIAddVersionKey “FileVersion” “1.0.0″
VIAddVersionKey “FileDescription” “Sample Java Launcher”
VIAddVersionKey “LegalCopyright” “(c) 2009, Rux System”
VIProductVersion “1.0.0.1″
;jar file to exec in exe file
!define JarFile “DocumentEditor.jar”
;javaw.exe to execute jar file
!define JavaExe “javaw.exe”
RequestExecutionLevel user
SilentInstall silent
AutoCloseWindow true
ShowInstDetails nevershow
!include “FileFunc.nsh”
!insertmacro GetFileVersion
!insertmacro GetParameters
!include “WordFunc.nsh”
!insertmacro VersionCompare
Section “main”
Call GetJRE
Pop $R0
StrCpy $0 ‘”$R0″ -jar “${JarFile}”‘
SetOutPath $EXEDIR
Exec $0
SectionEnd
Function GetJRE
Push $R0
ClearErrors
StrCpy $R0 “$EXEDIR\jre6\bin\${JavaExe}” ;JRE harus dicopy ke folder yang sama
IfFileExists $R0 JreFound ;skip jika JRE tidak ditemukan, lalu munculkan messagebox
MessageBox MB_OK “Untuk menjalanan applikasi, anda harus mengcopy folder jre ke folder ini”
JreFound:
Exch $R0
FunctionEnd



