On 11/23/2019 12:10 PM, Michael Hall wrote:
On Nov 23, 2019, at 10:51 AM, Kevin Rushforth <kevin.rushfo...@oracle.com>
wrote:
$ROOTDIR is not a supported interface. You should use "$APPDIR" instead. Having
said that, the real problem is likely your use of backslashes. I recommend using forward
slashes and also enclosing it in single quotes, like this:
It is apparently sometimes a unsupported interface. Since my OS X invocation
works with…
-Djava.security.policy=$ROOTDIR/app/all.policy
I’ll have to change that to APPDIR to be sure it still works.
As Kevin pointed out, $ROOTDIR is a part of jpackage's internal interface.
However the problem problem you face is because you use backslashes
which a treated by jpackage as escape characters. This should work:
---
-Djava.security.policy=$ROOTDIR/app/all.policy
---
and this should work too:
---
-Djava.security.policy=$ROOTDIR\\app\\all.policy
---
On condition these strings don't go through any environment that does
its own escape characters processing.
But this does show you should be correct for APPDIR being supported…
JDK-8231910 Expose the APPDIR variable to applications that use jpackage
-Djava.security.policy='$APPDIR/all.policy'
If you need to use backslashes for some reason, then you will need to use two
(the first is treated as an escape character).
I thought java on Windows was pretty indifferent to forward or backslashes in
file paths but I haven’t done much on Windows.
I figured when in Rome or on Windows do what they do.
First try keeping backslashes…
Error: Invalid Option: [-Djava.security.policy=$APPDIR\app\all.policy]
With forward slashes
Error: Invalid Option: [-Djava.security.policy=$ROOTDIR/app/all.policy]
Hmm, I'm surprised of this error. What is the exact value of
—java-options parameter? As I side note, I'd recommend putting each java
option in a separate —java-options jpackage parameter. jpackage supports
multiple —java-options on command line.
- Alexey