上面所有的技巧对我来说都有一个问题,即属性没有得到解决,当我们大量使用父 pom 中的dependencyManagement 时,我希望得到一些实际上可以完全理解 maven 的东西。我拼凑了一个简单的 scriptlet,它从 maven 输出依赖项,只获取顶级项目,然后为组、工件、版本和范围做一个简单的正则表达式(工件类型被忽略)
mvn dependency:tree | grep "] +" | perl -pe 's/.*\s([\w\.\-]+):([\w\.\-]+):\w+:([\w\.\-]+):(\w+).*/libraryDependencies += "$1" % "$2" % "$3" % "$4"\n /'
我将它直接传送到 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"