2015-11-28 84 views
1

我在Maven的以下依赖性:ElasticSearch盾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

当您使用%%标识符,它追加斯卡拉版本到工件的名称。引用the documentation

如果使用groupID %% artifactID % revision而非groupID % artifactID % revision(所不同的是groupID后双%%),SBT将增加项目的斯卡拉版本的工件名称。这只是一条捷径。

这不是这里的情况,所以你应该使用单%

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