【问题标题】:SBT to Maven ConverterSBT 到 Maven 转换器
【发布时间】:2011-07-01 08:24:23
【问题描述】:

由于大多数 IDE 只能导入 Maven 项目,我想从 SBT 托管项目生成 POM.xml,有更好的方法吗?

【问题讨论】:

  • 你应该给这个 Q 添加一个 maven 标签。
  • 有时生成 POM 的另一个原因是 mvn dependency:tree 通常可以正常工作,但 sbt dependency-tree 通常不能正常工作。它似乎遗漏了一些依赖项。
  • 过时的问题,现在 IDE 也导入 Sbt 项目。

标签: scala maven sbt


【解决方案1】:

您尝试过从sbt 转换为make-pom 吗?

它在 ./target 处为当前项目生成基本的 POM。 要自定义生成,您可以在项目定义处覆盖pomExtrapomIncludeRepositorypomPostProcess

【讨论】:

  • 我试过make-pom,我认为我的IDE只读取pom.xml文件来导入项目,我需要手动创建吗?
  • 我使用 make-pom 将 SBT 项目导入 Netbeans(仅支持开箱即用的基于 Maven 和 Ant 的项目)。我一直只需要运行make-pom,将生成的工件定义重命名为pom.xml,然后将其移动到项目根目录(最后两个步骤可以在SBT 中使用pomPostProcess 自动执行)。
  • @VasilRemeniuk 我在尝试找到如何执行这两个步骤时遇到了一些麻烦,documentation 表示这是一个Node => Node 函数。修改根Node 和孩子应该足以修改XML,但是:如何移动文件?谢谢。
【解决方案2】:

Vasil 的回答是正确的,但是对于 Eclipse 和 IDEA,您可以更直接地使用插件生成 IDE 元数据。对于 IDEA https://github.com/mpeltonen/sbt-idea,对于 Eclipse https://github.com/musk/SbtEclipsify

【讨论】:

    【解决方案3】:

    SBT 提供了一种非常直接的方式。您可以在 SBT 文件所在的位置使用以下命令:

    sbt makePom

    这将在目标文件夹中生成 .pom 文件,您可以搜索该文件并将其重命名为 pom.xml 并将该文件保留在该位置并运行 mvn clean compile install 以充分利用它.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-10
      • 1970-01-01
      • 2011-02-27
      • 2019-06-14
      • 2023-03-18
      • 2017-04-16
      • 2016-01-28
      相关资源
      最近更新 更多