2016-04-02 2 views
3

私はIntelliJの内とコマンドラインの両方から、SBTを使用して構築することができるようにしたいと思います。それ、どうやったら出来るの?デフォルトでは、両方ともオブジェクトファイルに同じディレクトリを使用するように見えますが、2つのビルドはしばしば衝突します。私は彼らがちょうど別のディレクトリに出力ファイルの2つの完全に独立したセットを構築するようにしても構いません。スカラ+ SBTでは、どのように同時にIntelliJのビルドおよびコマンドラインビルドができますか?

(まだのIntelliJ内部の実行テストのようなものをやっている間、私は多くの場合、コマンドラインを起動して〜publishM2のような何かをしたい。)

私はIntelliJの2016年1月1日を使用しています。

+1

IntelliJで「Rebuild ...」、またはsbtコンソールで「clean」を手動で実行できます。これは動作しますが、コンパイル時間が遅くなります(コンパイルをバイパスするため)。面倒ですが、それは動作し、それは私が現在どのようにそれを行うのです。 別の方法としては、IntelliJの内コンパイラの出力ディレクトリの設定を試してみてください可能性があり、 「ファイル」 - >「プロジェクト構造」 - >「モジュール」 - >(モジュールの選択) - >「パス」タブをチェックします。それがうまくいくかどうかわからない、特にbuild.sbtファイルを更新するときにデフォルトにリセットされるかどうか不明。 – PermaFrost

+0

マニュアルの問題が原因です。私はコマンドラインから実行している連続的なビルドを持っているので、Intellijの内部からビルドするだけで問題が発生します。 –

+0

私はあなたのパス]タブでパスの変更についての権利かもしれないと思う - 私はそれに打撃を与えています。 –

答えて

0

(アップデート:私はこれがちょうど両方のシステムが同じ出力パスを使用させるよりも唯一優れていると思う保存されていないようで、このページ上のロックの問題についてのコメント、および設定を参照してください - あなたはこのすべての時間を行う必要があります。 。あなたが起動する)@PermaFrostへ

おかげで、私はあなただけでファイル内のIntelliJのための出力パスを変更することができると思います - >プロジェクトの構造 - >モジュール - >(モジュールを選択) - > Pathsタブ、次のように:

enter image description here

+1

これが役立つ場合でも、sbtには同時に複数のプロセスを実行する際に多くの問題があります。私は2つの異なるフォルダに2つの異なるプロジェクトをコンパイルしようとすると、私は継続的に '利用可能に〜/リポジトリ/ .sbt.ivy.lockのロックを待っているようなものを受け取ることになります...' – pedrorijo91

+1

を私の経験では、このロックを待機しファイルは、libraryDependenciesなどを更新したときにのみ発生します。ほとんどの場合、ある時点でロックを取得して正常に動作しますが、私はこれを無期限にロックすることはめったにありません。しかし、あなたの走行距離は変わるかもしれません。 – PermaFrost

+1

コースバーを使用すると、グローバルなivyロックが回避されます。 – pfn

関連する問題