5 ms·
Can you add a shebang line and have it truly be a script? I do self executing JARs with a bash stub/header all the time, but haven’t tried with this.
by mbreese 2y ago
Can you add a shebang line and have it truly be a script? I do self executing JARs with a bash stub/header all the time, but haven’t tried with this.
- grishka 2y agoSadly you can't, Java doesn't support comments starting with # $ ./shebang.java ./shebang.java:1: error: illegal character: '#' #!/usr/bin/java ^ ./shebang.java:1: error: class, interface, enum, or record expected #!/usr/bin/java ^ 2 errors error: compilation failed Self-executable jars though, that's an interesting idea. No reason why it can't work, zip archives are read from the end, you can put anything in the beginning, including "#!/usr/bin/java -jar"
- spullara 2y agothis has worked since the beginning but i don't think many people know about it
- jnellis 2y agoI believe you can use shebang since java 11 but you can't have the filename extension be .java.
- grishka 2y agoIt turns out you indeed can: https://news.ycombinator.com/item?id=40912444 https://news.ycombinator.com/item?id=40912444
- mbreese 2y agoFor the self executing JAR, I normally add a bash/shell stub for the header that ends with java -jar $0 The rest of it sets up the environment (JAVA_OPTS, -Xmx, etc).