Vas*_*iuk 39 java scala pom.xml maven sbt
如您所知,SBT以某种方式与Maven兼容 - SBT识别简单的Maven POM,并且可以使用其中指定的依赖项和存储库.但是,SBT wiki说,如果在SBT项目定义中指定了内联依赖项,POM将被忽略(因此在这种情况下使用两者都是不可能的):
当存在内联依赖性声明时,将忽略Maven和Ivy配置(pom.xml和ivy.xml).
有谁知道,如果存在从Maven POM到SBT项目定义的任何转换器(将POM的XML转换为项目定义Scala代码)?我正在考虑编写这样的脚本(这将有助于将我的旧Scala/Maven项目迁移到SBT),但是首先想知道这个功能是否已经存在.
ret*_*nym 30
转换器对于这个黑客来说是一个非常强大的术语,但我写了一个脚本来取一块<dependencies>
并输出SBT风格的代码:http://gist.github.com/388334
Jos*_*ald 18
上面的所有提示都有问题,我没有解决属性问题,而且当我们从父poms大量使用dependencyManagement时,我希望能够完全理解maven的东西.我把一个简单的scriptlet打包在一起,它从maven输出依赖项,然后获取顶级项,然后为组,工件,版本和范围做一个简单的正则表达式(忽略工件类型)
mvn dependency:tree | grep "] +" | perl -pe 's/.*\s([\w\.\-]+):([\w\.\-]+):\w+:([\w\.\-]+):(\w+).*/libraryDependencies += "$1" % "$2" % "$3" % "$4"\n /'
Run Code Online (Sandbox Code Playgroud)
我将它直接传送到project/build.sbt.示例输出是(记得在sbt行之间保留空格)
libraryDependencies += "org.springframework" % "spring-core" % "3.1.0.RELEASE" % "compile"
libraryDependencies += "se.scalablesolutions.akka" % "akka-actor" % "1.3.1" % "compile"
libraryDependencies += "se.scalablesolutions.akka" % "akka-spring" % "1.3.1" % "compile"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16097 次 |
最近记录: |