Passing command line arguments to javaws (Java WebStart) executable

KarolDepka picture KarolDepka · Sep 8, 2009 · Viewed 27.2k times · Source

Summary for those who might not want to read that much:

How do I do this: ? If we could pass ad-hoc command-line args to javaws, then javaws apps could be more like "1st class citizen" "ordinary application". E.g. we could pass filenames of files to be opened.

I would like to know if there is a way to pass "ad-hoc" command line arguments to the javaws executable. I already know how to specify them in JNLP file:

<application-desc main-class="org.example.ClassName">
<argument>...

While this can be used for what i want to accomplish, i treat this as a workaround. I tried

javaws http://example.org/launch.jnlp <some CLI args here>

But "some CLI args here" were just ignored, i think.

If we could pass ad-hoc command-line args to javaws, then javaws apps could be more like "1st class citizen" "ordinary application". E.g. we could pass filenames of files to be opened. Like e.g.

javaws [options] http://example.org/launch.jnlp my_file.jpg

Having arguments hardcoded in JNLP does not satisfy this use case.

Answer

sunil choudhury picture sunil choudhury · Mar 25, 2011

There is nothing to confuse. The very straight answer which I tested and it is working perrfect.

To send the command line argument to any JNLP is very simple.

command prompt > javaws -open space arg1 space arg2 ... space arg n JNLP url

Ex:

c:\>javaws -open arg1 arg2 arg3 c:\myjnlp.jnlp

But remember one thing, We can get the -open also as args[0] in main method, so just avoid args[0]. Also it is not possible to avoid -open with direct argument prepixed with -.