我正在使用SBT和Ivy / Artifactory构建两个项目。
其中一个项目以JAR和WAR格式上传到Artifactory。 另一个项目使用SBT从另一个项目构建的JAR作为依赖项。
我的问题是:当我添加Artifactory repo并构建第二个项目时,它成功找到了工件,但是同时下载了JAR和WAR,而只需要JAR文件。
我查找了有关该问题的文档,但找不到该扩展程序的任何特定内容。我在SBT文档页面中读到过分类器,但这似乎不是我想要的。
有什么想法吗?
感谢。
答案 0 :(得分:1)
事情是设置2个不同的常春藤配置,一个用于jar,一个用于战争。
然后在依赖项目中,您可以执行以下操作:
“my.kikou.org” %% “dependeeProj” % “1.0” % “war”
或者
“my.kikou.org” %% “dependeeProj” % “1.0” % “jar”
因此,在 dependee 项目dependeeProj
SBT文件中,您可以按照以下步骤设置常春藤配置:
http://www.scala-sbt.org/0.13/docs/Artifacts.html#Modifying+default+artifacts
目标是生成一个包含2个配置的ivy.xml(一个用于jar,一个用于war),并将工件(.jar和.war)作为正确配置的一部分。生成的(通过SBT)ivy.xml看起来应该是这样的:
<ivy-module version="1.0">
...
<configurations>
<conf name="jar" description="Lib as a Jar"/>
<conf name="war" description="Lib as a War"/>
</configurations>
<publications>
<artifact name="dependeeProj-jar" type="jar" conf="jar" ext="jar"/>
<artifact name="dependeeProj-war" type="war" conf="war" ext="war"/>
</publications>
...
</ivy-module>
干杯