Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Advanced
Jun 22, 2009

Simple Script to Run Java Applications on Linux and Windows

Unlike C/C++ compilers that produce binary executables, Java produces bytecode. Running bytecode can be difficult for regular users, particularly when the application requires external libraries.

There are several solutions to the problem; you can:

  • Create an executable JAR.
  • Create shell scripts.
  • Create another executable that invokes the Java application.

The first option is easiest, however it works only in Windows. In addition, archiver programs can override the default JAR file association, in which case the surprised user gets presented with the archiver UI and the guts of the program instead of the expected application.

Fortunately, creating a shell script supplies a quick solution to the problemᾹand it works fine in Windows, Linux, and even OSX. Here's a script example:
C> type MyApp.bat
@ECHO OFF

SET BD=%~dp0
SET CP=%BD%jdom\jdom.jar
SET CP=%CP%;%BD%swt\swt.jar

start /B javaw -cp "%CP%" mypkg.MyApp
-------------------------
$ cat MyApp.sh
#!/bin/sh

BD='dirname $0'
CP=$BD/jdom/jdom.jar
CP=$CP:$BD/swt/swt.jar
...

java -cp "$CP" mypkg.MyApp

To run the script in Windows, launch it with start to make the command prompt disappear.

Another—and possibly more elegant—way to avoid displaying the command prompt is to create an executable installer. Free tools such as NSIS are available for this purpose. Your installer then simply creates a menu icon that runs javaw directly. To avoid long classpath entries on the command prompt, you can include the classpath in a MANIFEST.MF file in the main JAR file.

For more information, see this NSIS tutorial.

Bea Petrovicova
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap