問題タブ [xsbt-web-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - WARからファイルを除外するようにsbtに指示し、container:startによるファイルのロードを許可するにはどうすればよいですか?
私は元々xsbt-web-plugin0.1.xを書き直したsbt11.0プロジェクトを持っています。そのバージョンに対して、次の行を使用して、一部のファイルをWARに含めずに、jetty-runを実行したときにロードすることができました。
xsbt-web-pluginバージョン0.2.xには、WebPlugin.webappUnmanagedキーはありません。新しいバージョンで同じことをどのように達成できるか知っていますか?
したがって、明確でない場合は、SBT内からJettyを実行しているときにテストJavaScriptをロードしようとしていますが、これらのファイルをpackage-warによって生成されたアーティファクトから除外して、テストを行うようにします。ファイルは本番環境に移行しません。
javascript - 縮小された JavaScript ファイルを war に含める
Scalatra Web プロジェクトを構築するために sbt-js 0.3 を使用しています。に次の行を含めましたbuild.sbt
。
実行するとcompile
、縮小されたファイルがtarget/scala_2.9.1
フォルダーに生成されます。package
しかし、 (xsbt-web-pluginassembly
から)または(sbt-assemblyから)使用すると、これらのファイルを戦争で取得できません。何か案は?
scala - SBT でプロジェクト間でリソースを共有する方法
私が仕事で取り組んでいるプロジェクトは、Lift Framework の webapp です。xsbt Web プラグインも使用しています。機能の大部分を含む「コア」プロジェクトがあります。私の現在の目標は、「コア」プロジェクトに異なるクラスパス リソースのセットを追加する 2 つの「配布」プロジェクトを作成することです。問題は、1) 「配布」プロジェクトを実行できない、または 2) それらを実行するが、必要なリソースがそこにないように見えることです。
私が試したこと
これが私の要約版ですproject/Build.scala
:
次に、 と の両方のディレクトリ構造でapp1
、app2
にファイルがありますsrc/main/resources/aFileINeed
。コア アプリケーションはclass.getResource
、クラスパスからファイルをロードするアプローチを使用しています。
問題
を使用して配布プロジェクトの 1 つを実行しようとするとcontainer:start
、クラスパスで必要なファイルが検出されません。また、既存のディレクトリではないと主張してsrc/main/webapp
います (xsbt Web プラグインで必要なため、そのフォルダーはコア プロジェクトに含まれています)。
これらのプロジェクトのリソースを「マージ」するにはどうすればよいですか? aggregate
プロジェクト定義でordependsOn
を使用するBuild.scala
と、それが処理されると思っていましたが、明らかにそうではありません。
jetty - sbt-web-plugin: configurationXml で jetty へのクラスパスを指定する
sbt-web-plugin (で実行するため) を使用するときに、jetty のカスタム構成を作成しようとしていますcontainer:start
。カスタム jetty xml 構成を指定できる2 つのコンテナー設定があります:configurationFiles
およびconfigurationXml
( customConfiguration
true の場合)。
ただし、これは sbt-web-plugin によって行われる jetty の内部設定を完全に上書きするので、カスタム設定で jetty を完全に設定する必要があります。また、プロジェクトからコンパイルされた .class ファイルと依存関係へのクラスパスを指定しないと機能しません。
私はそのようなことをしようとしています:
isとisconfigurationXml
であるため、 onの直接依存fullClasspath
は不可能のようです:configurationXml
SettingKey
fullClasspath
TaskKey
これの実際的な重要性は、非タスク設定の依存関係としてタスクを持つことができないということです。
パラメータにfullClasspath
設定を含めることはできますか?configurationXml
そうでない場合でも、で呼び出された jetty 開発サーバーにカスタム構成設定を追加することは可能container:start
ですか?
scala - 「resources」または「webapp」が変更されたときに ~ を使用してコマンドを再実行する SBT
~;container:start; を使用しています。container:reload / with xsbt-web-plugin. リロードはうまく機能しますが、静的リソースやページなどを変更したときにのみ起こりません.
モニターを変更するためにそれらを含めるにはどうすればよいですか、何かアイデアはありますか?
ありがとう。
scala - xsbt-web-plugin を使用して Jetty コンテナーのコンソールにログインを要求する
を使用しxsbt-web-plugin
て Web サービスを開発しています。
デバッグを容易にするために、以下の行のようにコンソールでリクエスト ログをオンにしたいと思います。
[22/Dez/2012:15:29:56 +0000] "GET /messages HTTP/1.1" 200 27276
本番環境では問題なく使用していますが、開発環境では/を介してコンテナを開始した場所にNCSARequestLog
ログを含めたいと考えていますsbt console
container:start
リクエスト ログを有効にするにはどうすればよいですか?
scala - Sbt の Build.scala でスプレー缶のヒープ サイズを設定するにはどうすればよいですか?
再起動を使用してサーバーを起動できる実行中の sbt プロジェクトがあります。セットアップはxsbt-web-pluginを使用して行われました。
ここで、サーバー プロセスが少し短い 128M のヒープで実行されていることに気付きました。sbt プロセスのヒープ サイズを設定する方法は知っていますが、どうやらスプレーが別の jvm を実行しているようです。
この種のセットアップでスプレー缶用に大きなヒープを構成するにはどうすればよいですか?
詳細
ここで答えたように sbt を構成しました: How to specify JVM maximum heap size "-Xmx" for running an application with "run" action in SBT?
しかし、jconsole で実行中のプロセスを見ると、サーバー プロセスが別の jvm で実行されていることがわかります。
そして、このプロセスには、.sbtconfig で構成された 3.5GI ではなく、わずか 128M のヒープがあることがわかります。
heroku - startScriptForWarSettings を使用して Heroku で実行する
Heroku で SBT Web アプリを実行しようとしています。ここで説明されているように、JettyLauncher スクリプトを使用してこれを行うことができましたhttp://scalatra.org/2.2/guides/deployment/heroku.html ただし、src/ ではなく WAR アーティファクトから実行したいmain/webapp ディレクトリは、ビルドで発生する後で処理が行われるためです。
ただし、StartScriptPlugin.startScriptForWarSettings を使用しようとすると、WAR ファイルを /tmp/build_26wd72c43fv12/target/jetty-distribution-7.3.1.v20110307/webapps にコピーしようとするため、アプリの起動時にエラーが発生します。
これを読む: https://devcenter.heroku.com/articles/read-only-filesystemは、そのスクリプトが Web dyno によって実行されるときに、/tmp に書き込めないことが問題であることを明確に説明しています。
私の質問は: sbt-start-scriptplugin で Jetty ディストリビューションに使用されるディレクトリを変更する方法はありますか? ソースを見てきましたが、使用されているのはこの「ターゲット」変数ですが、それがどのように、またはどこで定義されているかはわかりません。
sbt - SBTの「パッケージ」は「テスト」に依存
ターゲット「パッケージ」をターゲット「テスト」に依存させるにはどうすればよいですか?
ここに解決策があります:テストを実行するようにsbt 0.11を強制します が、xsbt-web-pluginでは実際には機能しません。
scala - リゾルバーは依存する sbt プロジェクトに共有されていませんか?
xsbt-web-plugin が関与しているように見えるこの奇妙なケースでは、エラーが発生します
unresolved dependency: play#play-json_2.10;2.2-SNAPSHOT: not found
server
サブプロジェクトをロードするとき。依存関係と正しいリゾルバーは、依存するlibrary
サブプロジェクトで指定されserver
ます。サーバーに含めなくても爆発しませんがwebSettings
、そこに .war を構築しようとしています。
[ルート]/project/Build.scala
[ルート]/project/plugins.sbt
[ルート]/library/build.sbt
[ルート]/server/build.sbt