2015-11-28 2 views
1

У меня есть следующие зависимости в Maven:ElasticSearch Shield Maven зависимостей в SBT зависимости

<repositories> 
    <!-- add the elasticsearch repo --> 
    <repository> 
    <id>elasticsearch-releases</id> 
    <url>https://maven.elasticsearch.org/releases</url> 
    <releases> 
     <enabled>true</enabled> 
    </releases> 
    <snapshots> 
     <enabled>false</enabled> 
    </snapshots> 
    </repository> 
</repositories> 

<dependencies> 
    <!-- add the shield jar as a dependency --> 
    <dependency> 
    <groupId>org.elasticsearch.plugin</groupId> 
    <artifactId>shield</artifactId> 
    <version>2.0.1</version> 
    </dependency> 
</dependencies> 

Есть ли способ, чтобы перевести его в формат SBT?

Я пробовал:

resolvers += "elasticsearch-releases" at "https://maven.elasticsearch.org/releases" 
libraryDependencies += "org.elasticsearch.plugin" %% "shield" % "2.0.1" 

Но он не смог найти этот артефакт.

ответ

2

При использовании %% идентификатора, он добавляет версию Scala на имя артефакта. Цитирование the documentation:

Если вы используете groupID %% artifactID % revision, а не groupID % artifactID % revision (разница двойной %% после groupID), SBT добавит Scala версию вашего проекта с именем артефакта. Это просто ярлык.

Это не тот случай, так что вы должны использовать единый %:

resolvers += "elasticsearch-releases" at "https://maven.elasticsearch.org/releases" 
libraryDependencies += "org.elasticsearch.plugin" % "shield" % "2.0.1" 
0

Так что мне удалось это сделать, указав зависимость явно.

libraryDependencies += 
"org.elasticsearch.plugin" %% "shield" % "2.0.1" from "https://maven.elasticsearch.org/releases/org/elasticsearch/plugin/shield/2.0.1/shield-2.0.1.jar" 
+0

Это работает, но это не очень хорошая практика. См. [Мой ответ] (http://stackoverflow.com/a/33974558/1743880) – Tunaki

Смежные вопросы