当您使用sbt-native-packager插件在sbt中打包命令行应用程序时,您将获得一个包装脚本,该脚本具有类似于此的其他命令行选项。
-h | -help print this message
-v | -verbose this runner is chattier
-d | -debug set sbt log level to debug
-no-version-check Don't run the java version check.
-mem <integer> set memory options in MB (default: , which is -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=128m)
-jvm-debug <port> Turn on JVM debugging, open at the given port.
# java version (default: java from PATH, currently java version "1.7.0_21")
-java-home <path> alternate JAVA_HOME
# jvm options and output control
JAVA_OPTS environment variable, if unset uses ""
-Dkey=val pass -Dkey=val directly to the java runtime
-J-X pass option -X directly to the java runtime
(-J is stripped)
# special option
-- To stop parsing built-in commands from the rest of the command-line.
e.g.) enabling debug and sending -d as app argument
$ ./start-script -d -- -d
是否可以选择性地禁用某些选项或从打包的应用程序中将它们全部删除?
答案 0 :(得分:0)
首先,没有办法禁用单个命令行选项。但是你可以做其他一些事情。
如果您有可能对一般可用性感兴趣的用例,则可以打开功能请求。
欢呼声, 缪奇
答案 1 :(得分:0)
对于bash脚本,您可以将其添加到您的sbt config:
bashScriptExtraDefines += """set -- -- "$@""""
这有效地将--
添加到传入的命令行参数中,这些参数将由包装器使用。然后,包装器会在此前置--
答案 2 :(得分:0)
您可以通过在Java选项后面附加--
来完全禁用所有它们,而完全不依赖于平台:
javaOptions in Universal += "--"
这必须是最后一个Java选项,以便在您设置可能已有的任何自定义Java选项后将其注入。显然,这很不客气,因为--
并不是真的Java选项,但是当前native-packager不会检查它是不是。