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

Scala 与Pom.xml和ivy.xml的依赖关系,scala,sbt,pom.xml,ivy,Scala,Sbt,Pom.xml,Ivy,我有一个既有pom.xml又有ivy.xml的依赖项。pom.xml没有预期的配置,当我编译时,它似乎只使用pom.xml,并对缺少的配置大喊大叫。有没有办法更喜欢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/s

我有一个既有
pom.xml
又有
ivy.xml
的依赖项。
pom.xml
没有预期的配置,当我编译时,它似乎只使用pom.xml,并对缺少的配置大喊大叫。有没有办法更喜欢
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>
<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>
....

pom.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>
<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>
....

4.0.0
GROUPID
MyModule
罐子
最近的
jar是通过Ivy进程生成和发布的,但是提供了一个POM文件,以便Maven构建可以使用
....
正在从ivy.xml引用 请注意sdk的使用

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

啊哈!你在使用常春藤资源库?(我打赌您忘了包含另一个名为“settings.xml”的文件了?)

我不清楚的是,如果使用常春藤存储库,为什么会读取POM文件。。。。。所以我推测您已经将构建配置为在下拉依赖项时使用?这可以解释为什么缺少“sdk”配置,因为ivy有一种将Maven模块转换为ivy speak的预设方法

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


示例?没有更多信息,无法回答您的问题。POM文件和常春藤文件几乎是一回事,但并不完全相同。每个都支持不同的依赖关系管理技术。看到两个存储在一起很不寻常,因为ivy知道如何读取Maven存储库。@MarkO'Connor更新