advertisement
Premier Club Log In/Registration
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   SKILLBUILDING  |   TIP BANK  |   SOURCEBANK  |   FORUMS  |   NEWSLETTERS
Browse DevX
Partners & Affiliates
advertisement
advertisement
Tip of the Day
Average Rating: 3.1/5 | Rate this item | 15 users have rated this item.
Expertise: Advanced
Language: Java
June 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
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible. Submit your tip here.
Please rate this item (5=best)
 1  2  3  4  5
advertisement
advertisement
Advertising Info  |   Member Services  |   Permissions  |   Help  |   Site Map  |   Network Map  |   About


The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers