2016-05-30 9 views
0

sbt-native-packagerプラグインを使用してsbtでコマンドラインアプリケーションをパッケージ化すると、次のような追加のコマンドラインオプションを持つラッパースクリプトが生成されます。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 

このオプションの一部を選択的に無効にすることも、パッケージ化されたアプリケーションからすべてを一緒に削除することもできますか。

+1

おそらく、あなたはスクリプトテンプレートをカスタマイズする方法を探しています:http://www.scala-sbt.org/sbt-native-packager/archetypes/java_app/customize。 html#start-script-customizations – Shyam

+0

ありがとう@shyamこのオプションを見ていきます。 –

答えて

0

まず、を無効にする方法はありません。単一のコマンドラインオプション。しかし、あなたはいくつかのことをすることができます。セパレーター - シャムが正常に述べたように

  1. は、あなたがoverride the start script
  2. 2番目のオプションは、を使用することであろうことができます。前のすべてがスクリプトによって解析され、後のすべてがアプリケーションのコマンドラインとして追加されます。

一般的に利用可能なケースがある場合は、機能要求を開くことができます。

歓声、bashスクリプトの場合 Muki

+0

ありがとう@muki最初のオプションを試します。私は2番目のことを知っていますが、ユーザーが2つのステップコマンドライン解析の存在を知る必要がない、配布可能なアプリケーションにとっては非常に自然ではありません –

0

、あなたはあなたのsbtの設定にこれを追加することができます。

bashScriptExtraDefines += """set -- -- "[email protected]""""

が、これは効果的にコマンドライン引数に渡された--を付加、その意志ラッパーによって消費される。この後、ラッパーはすべてを通過します。--

関連する問題