我有一些项目,所有项目都存储在pom.xml文件中。

如何从内部检索依赖关系,以便可以轻松地将其放置到使用sbt的项目中?

复制粘贴所有这些都是很耗时的。

最佳答案

此scala脚本从命令行运行,可以解决此问题,将pom.xml文件转换为打印在屏幕上的sbt依赖项。然后,您只需要为每个pom.xml文件复制粘贴一次。

注意:pom.xml必须与脚本位于同一文件夹中。然后从命令行执行:scala scriptname.scala

import scala.xml._

(XML.load("pom.xml") \\ "dependencies") \ "dependency" foreach ((dependency: Node) => {
val groupId = (dependency \ "groupId").text
val artifactId = (dependency \ "artifactId").text
val version = (dependency \ "version").text
val scope = (dependency \ "scope").text
val classifier = (dependency \ "classifier").text
val artifactValName: String = artifactId.replaceAll("[-\\.]", "_")

print("val %s = \"%s\" %% \"%s\" %% \"%s\"".format(artifactValName, groupId, artifactId, version))
scope match {
  case "" => print("\n")
  case _ => print(" %% \"%s\"\n".format(scope))
}
None
});

关于sbt - 如何将pom xml转换为sbt依赖项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15430346/

10-16 21:38