Hi I am new, so this might be in the wrong place. This thread is a call out for discussion and collaboration of the more senior Java Developers and those more experienced with
NSIS (NullSoft Scriptable Installer System) launchers for Portable Apps.
[Here is the situation] I spent my spare time this weekend installing a number of the java applications with bundled JREs onto my WD 120 GB Passport Portable Hard Drive.
It been over a year since I had done any real java development and I wanted to organize a comfortable and flexible developer environment (IDE and other tools) that I could use independent of the JVM on the host machine while I am on the go. So the dev environment would be consistant when at home, work, computer labs or friends places. Also I want to develop small java applications that friends can use on the small thumbnail drives, but there are no consistent tools to help package the java apps for the thumbnail drives.
[A quick case study] Here are the Java applications I installed, the space used and reason they are being used
The stand alone java application Aqua Data Studio 4.5 with bundled JRE is about 97 MB were the JRE is about 76 MB; this is for basic database work.
The stand alone java application Osoft ThoutReader with bundled JRE is about 39 MB were the JRE is about 32 MB, it look useful in maintaining a digital library of software books with notations and the upcoming Thout OR looks to be the best solution when I want to write up Open Documentation to be distributed with my own java apps development.
The stand alone java application bundle Eclipse Development Package from IBM with bundled JRE is about 129 MB were the JRE is about 70 MB, this is really only tool that will let you develop apps for a number of different languages, and its been discussed in other threads.
[The thorn in my Paw] I realized after getting the JRE dependant apps working, that little consideration has been given by the Java community to porting/package java apps to the portable drives. Also looking over this setup I also realized that each JRE bundle most likely overlaps and the total footprint could be reduced. While I have plenty of room on my WD passport the thumbnail drives are more constrained. Now I am novice and do not know how to approach this problem but building on JSmooth, John’s notes and the Java Launcher to create a more manageable Java Portable toolset to produce the following should be possible?
- A toolset and guidelines for java developer to help minimize the footprint of java apps and JRE bundle on the thumbnail or portable drives
- A toolset and guidelines on how to detect/setup a portable JRE on a stick and incrementally build on JRE instances when other Java apps are installed instead of creating a new JRE instance for each java portable app.
- A toolset and guidelines on how to create more user friendly launchers for the Java apps that are used on portable media.
Ok now you guys and gals can mingle talk among your selves and discuss if any of this is even possible, and then harass the more senior/hardcore java developers about the needs/possibilities.
Also here is quick summary of the links I looked over while thinking about this.
http://www-128.ibm.com/developerworks/java/jdk/eclipse/
http://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.platform.doc...
http://publib.boulder.ibm.com/infocenter/ad51help/index.jsp?topic=/org.e...
http://www.openreader.org/index.php?option=com_content&task=view&id=6&It...
http://www.osoft.com/store/custom_readers.php
http://www.javalobby.org/java/forums/t15869.html
http://jsmooth.sourceforge.net/index.php
http://nsis.sourceforge.net/A_slightly_better_Java_Launcher
Previous java threads that I have looked over
https://portableapps.com/node/1401
https://portableapps.com/node/439
Very nice work. This will prove extremely useful.
I've been considering a Portable JarLaunch system that would incorporate an OSS launcher (uStart?) that calls either an NSIS or C++ program (learning the latter, fairly good with the former) with parameters. You would call
JarLaunch.exe -\PortableApps\javaapp.jar
, and JarLaunch would check the settings file to see where your JRE is, then execute the JAR file using java.exe (or javaw.exe). I'm a bit new to Java, so I don't know if this would work.Would you like to help?
~nm35 {blog} {site}
Mark Smith | PortableApps.com Developer
It sounds really good, though. This would mean that there would be only one instance of the JRE, right?
Bingo.
I'll see what I can do. I'm pretty busy with Registry Rocker and AutoINF, though; it'll be a while.
~nm35 {blog} {site}
Mark Smith | PortableApps.com Developer