Обновлено последним, благодаря @JamesWard за показ, как обновить, чтобы заставить Айви.SBT/Play: Устранение неполадок артефактов в репозитории Ivy (Artifactory)
Мы используем gradle как нашу систему сборки (java). Я решил попробовать сыграть с Gradle, вероятно, слишком сильно против слишком большого зерна, поэтому я просто хочу использовать артефактные зависимости от SBT.
Я хочу, чтобы приложение простой игры использовало одну из наших библиотек в нашем артефакте Rep (Artifactory).
Я попытался сделать это в build.sbt:
name := "NervTwitter"
version := "1.0-SNAPSHOT"
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache
)
libraryDependencies += "org.scala-tools" % "scala-stm_2.9.1" % "0.3"
libraryDependencies += "com.myco.eda" % "eda-nerv-core" % "latest.milestone"
resolvers += Resolver.url("MyCO Artifactory", url("http://bas.eur.ad.sag:8081/artifactory/repo"))(Resolver.ivyStylePatterns)
play.Project.playJavaSettings
Я побежал шоу компиляции: dependencyClasspath из игры консоли и получить:
[warn] ==== MyCO Artifactory: tried
[warn] http://bas.eur.ad.sag:8081/artifactory/repo/com.myco.eda/eda-nerv-core/[revision]/ivys/ivy.xml
Обратите внимание на /repo/com.myco.eda/
. Это неверно, в нашем репо правильный путь: /repo/com/myco/eda/
Итак, это разрешает Айви (хорошо), но формат неправильный. I думаю Мне нужно сделать мой плющ repo maven2 совместимым. Но я не знаю, как ....
Вот ссылка на то, как наш репо выложена: http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:ivy_repositories
взгляд под: 50.6.6.2. Ivy хранилище с макетом совместимого Maven
благодаря
ближе я думаю = теперь он выглядит, как он пытается Ivy: ==== MYCO Artifactory : try [warn] http: //bas.eur.ad.sag: 8081/artifactory/repo/com.myco.eda/eda-nerv-core/[revision] /ivys/ivy.xml Но этот резольвер isn ' Совершенно верно. «com.my.co.eda» на самом деле должно быть «com/myco/eda» –
Как публикуется библиотека «eda-nerv-core»? Вы уверены, что он опубликован в стиле Айви? –
да, плющ определенно –