2012-08-05 15 views
7

私はsbt 0.12 RC2を使用しています。sbtが依存関係を解決する場所を調べる方法は?

私のプロジェクトには多くのライブラリ依存関係があり、それらのいくつかは他の依存関係を引き起こします。これらの依存関係の一部は管理されていません(lib/)。一部は私のローカル.ivy2リポジトリにあり、一部はさまざまなリモートリポジトリにあります。

私はそれが言うとき、SBTは、各JARファイルを見つけた場所を正確に私に教えてくれます sbt update-verboseまたは類似を探しています

[info] Resolving com.nicta#sbt-scoobi;0.0.1 ... 
[info] Resolving org.scala-lang#scala-library;2.9.2 ... 
[info] Resolving org.apache.opennlp#opennlp-maxent;3.0.1-incubating ... 
[info] Resolving jwnl#jwnl;1.3.3 ... 
+0

関連:https://stackoverflow.com/questions/21111989/how-to-find-out-which-dependency-caused-a-particular-library-to-be-downloaded – Matt

答えて

0

depedenciesが

+0

それは私に何も与えませんを探しています。これは、Javaクラスパスを一覧表示するだけです。私は知りたいと思います。実際にそこから来た依存関係 'com.nicta#sbt-scoobi; 0.0.1'(例えばアンマネージ' lib/'ディレクトリ、ローカル'〜/ .ivy2'リポジトリ、ローカル '〜/ .m2'リポジトリ、特定のリモートIvy2またはMavenリポジトリなど)。 –

+0

'Attributed(/Users/guillaume/.ivy2/cache/org.specs2/specs2_2.9.1/jars/specs2_2.9.1-1.11.jar)'これは '〜/ .ivy2'のものです –

+3

いいえ、これはキャッシュです。それはソースではありません。それは、それがローカルに、またはリモートで、またはどこから発信されたのかをあなたに伝えません。 –

0

ある場所を表示するためにshow compile:dependency-classpathを使用することができます

:最後のタスクの詳細については、こちらを 最後

詳細と詳細情報を実行することによって呼び出すことができます

Configure and use logging

0

私は、これは0.12.xをSBTに適用されるかどうかわからないんだけど、あなたのライブラリが~/.ivy/cache/...ディレクトリ構造に住んでいる場所を見つけることができれば0.13.xで、ライブラリの親ディレクトリが名前のファイルを持っていますivydata-x.y.z.propertiesには、依存関係が見つかったURLが含まれています。例えば

、あなたがakka-streamsのためにキャッシュする場合は、次のようになります。

.ivy2 
└── cache 
    └── com.typesafe.akka 
     └── akka-stream_2.11 
      ├── docs 
      │   └── akka-stream_2.11-2.4.14-javadoc.jar 
      ├── jars 
      │   └── akka-stream_2.11-2.4.14.jar 
      └── srcs 
       └── akka-stream_2.11-2.4.14-sources.jar 

あなたは、ダウンロードURLを含む、このようなファイルを見つける必要があります。

.ivy2 
└── cache 
    └── com.typesafe.akka 
     └── akka-stream_2.11 
      └──ivydata-2.4.14.properties 
2

sbtはどのように非常に広範なレポートを生成します依存関係は正確にtarget/resolution-cache/reportsに解決されました。 .xmlファイルの1つをWebブラウザで開き、必要な詳細をすべて表示する必要があります。

関連する問題