因此,正如标题所示,可以解决仅包含配置/属性并且没有关联.jar文件的.pom文件依赖项吗?
我正在使用Play开发一个新的前端应用程序!框架和angularjs。这是场景:
根项目(la maven编译/部署)
Web模块 - pom.xml
前端(单元SBT编译,多模块项目)
build.sbt
项目/ build.scala
sbt编译是使用插件,sbt-launcher通过maven运行的,如果我没有弄错的话。一切都按预期运行和编译,但是,当我们在前端的build.sbt文件中添加WebCommons作为依赖项时,我们遇到了问题。 问题依赖于以下事实:root的pom.xml有自己的父级,让我们称之为X,而X包含几个.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. innsitive()在web-commons依赖,无效,仍在尝试查找父母dep。 2. 排除(组织,文件名*),再次无效 3. excludeAll(ExclusionRule(org,dep1)ExclusionRule(org,dep2)...),遗憾的是,无效。
我目前正在使用sbt 0.13.2 / 6(两者都试过)。 我的下一步是定义一个ivy.xml和ivysettings.xml来配置这个依赖项并强制type = pom。这项工作可能吗?还有其他任何消化/解决方法吗?
提前致谢。
答案 0 :(得分:0)
希望对你有好消息!
最近我和SBT 0.13.13有类似的问题,我有两个项目,每个项目都发布一个POM文件(没有罐子!),其中一个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