gpt4 book ai didi

maven - SBT 可以仅将 .pom 文件解析为没有 jar 的依赖项吗?

转载 作者:行者123 更新时间:2023-12-01 06:27:53 25 4
gpt4 key购买 nike

那么,正如标题所暗示的,sbtresolve 可以解决仅包含配置/属性且没有关联 .jar 文件的 .pom 文件依赖项吗?

我目前正在使用 Play 开发一个新的前端应用程序!框架和 angularjs。这是场景:

  • 根项目(à la maven 编译/部署)
  • 核心业务模块- pom.xml
  • Web 模块 - pom.xml
  • 休息 API-pom.xml
  • 模块 - pom.xml
  • 模块 - pom.xml
  • 前端(à la SBT 编译,多模块项目)
  • Mod1 - build.sbt
  • Mod2 - build.sbt(取决于 mod1)
  • 内部更多模块 - build.sbt

  • 构建.sbt

    项目/build.scala
  • Web Commons(用于 Rest API 和前端)- pom.xml

  • sbt 编译是通过 maven 使用插件运行的,如果我没记错的话 sbt-launcher。一切都按预期运行和编译,但是,当我们在前端的 build.sbt 文件中添加 WebCommons 作为依赖项时遇到了问题。
    问题取决于这样一个事实,即根的 pom.xml 有他自己的父级,我们称之为 X,并且 X 包含几个委托(delegate)给子模块(在本例中为根项目)的 .pom 文件 config/properties/dependencies这是简化 RPM 打包所必需的。
    运行 maven clean install,编译过程非常顺利,我们到达前端,sbt 编译周期按预期开始。当 sbt 尝试解析 web-commons 依赖时,它也会解析每个父级。在这种情况下,web-commons->web-modules->root->X。当他到达 X 时,发现他有几个依赖项(与前端完全无关......)但这些是由 .pom 文件而不是 jar 文件组成的。这些 .pom 文件是使用解析器正确下载的,但是随后,sbt 搜索相应的 .jar 文件需要花费大量时间来完成构建,并且当它这样做时,到处都是错误、错误(缺少依赖项)。
    我尝试了几种可能的解决方案:

    1. 不及物() 在 web-commons 依赖中,无效,仍在尝试寻找 parent dep。
    2. 排除(组织,文件名*) ,再次无效。
    3. excludeAll(ExclusionRule(org,dep1) ExclusionRule(org,dep2) ... ) ,可悲的是,没有效果。

    我目前正在使用 sbt 0.13.2/6(都试过了)。
    我的下一步是定义配置此依赖项并强制 type=pom 的 ivy.xml 和 ivysettings.xml。这行得通吗?还有其他建议/解决方法吗?

    提前致谢。

    最佳答案

    希望对你来说是个好消息!

    我最近在使用 SBT 0.13.13 时遇到了类似的问题,我有两个项目,每个项目都发布一个 POM 文件(没有 jars!),其中一个 POM 依赖于另一个。

    在 *.sbt 文件中向 POM 添加依赖项如下所示:

    libraryDependencies += 
    "<org>"
    % "<artifact>"
    % "<version pattern>"
    artifacts
    Artifact("<artifact>", `type`="pom", extension="pom")

    如果您对示例感兴趣,请参见此处:

    https://github.com/TIWG/com.nomagic.magicdraw.sysml.plugin/blob/release/18.0-sp6/build.sbt#L63

    POM 在这里发布:

    https://bintray.com/tiwg/org.omg.tiwg.vendor.nomagic/com.nomagic.magicdraw.sysml.plugin/18.0-sp6.2

    该 POM 依赖于此处发布的另一个 POM:

    https://bintray.com/tiwg/org.omg.tiwg.vendor.nomagic/com.nomagic.magicdraw.package/18.0-sp6.2

    关于maven - SBT 可以仅将 .pom 文件解析为没有 jar 的依赖项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26187667/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com