2017-01-21 3 views
1

パブリック・アーティファクト・リポジトリにはないOracle、MicrosoftなどのベンダーのJDBCドライバなどの依存関係があります。SBTプロジェクトでシステム依存関係としてJDBCドライバを配置する方法DevモードでのScala/Playプロジェクト

は毎回私がのDevモードで私のPlayアプリケーションを実行しながら、それらの依存関係が利用できるようにしたい、私はこれらのドライバは、お客様ごとに異なることになっている

(プレイプロジェクト内)libフォルダにそれらのjarファイルを配置する必要がありますプロジェクトのいくつかのフェーズでは、Oracle、他のいくつかのフェーズ、2つのドライバが必要です。

もう一つのポイントは、我々はこれらのドライバを使用する複数のプレイアプリケーションを持っており、手動で私はこの問題を回避するにはどうすればよいlibフォルダ

内でそれらを配置する必要があり、ということです?

私は、コマンドラインから言っているときのためにクラスパスにそれらのjarファイルが必要になります。

sbt run "play-project" -Dhttp.port=9001 

は、たぶん私はまた、追加 クラスパスを渡すことができ、いくつかのプレイパラメータがあります。

私は、私はあなたが2つの解決策があると思う2.4とScalaの2.11.7

+0

あなたはプロジェクトを構築するために何を使用していますか? – efekctive

+0

ビルドツールとしてのSbt –

+0

reposでどのように動作するかをドキュメントで確認します。それはmaven reposを読むことができます。私はこれらの依存関係をローカルにインストールしてから、mavenリポジトリにsbtを指定します – efekctive

答えて

0

再生使用しています:あなたからの1点で共通フォルダの参照で

  1. あなたの詳細を追加jarファイルをビルドファイル。チームの他の人がjarの場所を設定できるように、いくつかの環境プロパティーまたは設定可能な方法を追加する必要があります。

  2. 特定のjarを含むプライベートMavenまたはivyリポジトリを作成します。これは、ファイルと正しいディレクトリ構造を持つhttpサーバと同じくらい簡単です。これにより、マシン上の特定のフォルダを設定することなく、jarファイルを内部的に配布することができます。最初のソリューションについては

SBT documentationから、あなたは自分のbuild.sbtファイルにして、自分の管理対象外のクラスパスにのような行これらのjarファイルを追加する必要があります:ちょうど持って、第二の溶液のために

unmanagedJars in Compile := (file("/my_common_path") ** "*.jar").classpath 

を見てくださいsbt's resolver documentation

+0

私のコメントを編集しました、提案された行はbuild.sbtファイルに追加する必要があります。 –

関連する問題