与Pom.xml和ivy.xml的依赖关系

时间:2015-03-19 18:39:27

标签: scala sbt pom.xml ivy

我的依赖项同时包含pom.xmlivy.xmlpom.xml没有预期的配置,当我编译时,似乎只使用pom.xml并对丢失的conf大喊大叫。有没有办法更喜欢ivy.xml?也许使用不同的解析器?

的ivy.xml

<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">

  <info organisation="XYZ" module="MyModule" revision="LATEST" status="integration" publication="20150318194326"/>
  <configurations>
    <conf name="runtime" visibility="public" transitive="true" description="artifacts that might be used for a runtime environment"/>
    <conf name="sdk" visibility="public" extends="runtime" description="SDK jar"/>
  </configurations>

的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>GROUPID</groupId>
  <artifactId>MyModule</artifactId>
  <packaging>jar</packaging>
  <version>LATEST</version>
  <description>this.jar was generated and published via an Ivy process, but given a POM file so as to be available to Maven builds</description>
  <dependencies>
    <dependency>
....

从ivy.xml引用 请注意使用 sdk

<dependency org="ORG" name="NAME" rev="latest" revConstraint="latest.integration" conf="*->sdk"/>

1 个答案:

答案 0 :(得分:0)

AHHA!你正在使用常春藤存储库? (我打赌你忘了包含另一个名为“settings.xml”的文件?)

我不清楚的是,如果您使用常春藤存储库,将会读取POM文件的原因.....所以我推测您已经配置了构建以在拉动时使用ibiblio resolver向下依赖?这可以解释为什么缺少“sdk”配置,因为常春藤有预先设定的方法将Maven模块翻译成常春藤语言。

有关常春藤如何解释Maven存储库的更多信息,请参阅:

How are maven scopes mapped to ivy configurations by ivy