We'd like to ship some helper scripts (shell scripts) as part of an application war. Unfortunately it appears like our build system (maven) discard the permissions on all files and the scripts end up without the executable bit set.
Is it even possible to do that? Does the .war format support executable files? If yes: how could tell maven to keep the permissions/fix them somewhere in the process?
The problem is more likely that these bits are not supported in the underlying zip-format.
The execute bit does not need to be set, if you explicitly execute /bin/sh with the script name.
Also note that your program - which knows the location of the script - can invoke "chmod +x script.sh" before launching.
AFAIK, there is no way to set file permissions within a war/jar (this is however possible when using the Maven Assembly Plugin to create a binary distribution archive of your project, but this is another story).
So, I would either:
java.io.tmpdir
directory, set the execution bit and then execute them from there ~or~You can also check and set the executable flag directly from your Java-Code. See http://docs.oracle.com/javase/6/docs/api/java/io/File.html#setExecutable%28boolean,%20boolean%29
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With