跳过常春藤解决并手动下载依赖项

时间:2016-06-02 15:13:16

标签: ant cassandra ivy

我正在尝试安装cassandra,并且难以解决某些依赖项。有没有办法简单地直接下载jar文件并跳过常春藤解析选项。

我不熟悉Apache Ant或Apache Ivy。

此处描述了Apache Ivy设置:https://gist.github.com/nipunarora/5fa2c22770f575d81a0698644c5eeb02

Apache Ivy在这里: https://gist.github.com/nipunarora/d24f15768ff13470c5eb55a4f356650a

无法解决cloudera的一些依赖项。我可以从网上下载jar文件,所以我想跳过解析依赖关系并手动下载它们。

1 个答案:

答案 0 :(得分:2)

手动管理依赖项并不好玩......我不推荐它......

您的问题似乎是cloudera已更改其存储库网址。我发现了第二个缺少hadoop流媒体工件的问题。我从hadoop项目中取出了罐子。

常春藤设置文件

我建议使用另一种更简单的设置:

<ivysettings>
  <settings defaultResolver="central"/>
  <resolvers>
    <ibiblio name="central" m2compatible="true" />
    <ibiblio name="cloudera" root="https://repository.cloudera.com/cloudera/repo" m2compatible="true" />
  </resolvers>
  <modules>
    <module organisation="com.cloudera.hadoop" resolver="cloudera" />
  </modules>
</ivysettings>

基本上配置常春藤以从cloudera repo和Maven central

中的所有其他内容下载cloudera工件

缺少hadoop流媒体工件

搜索cloudera存储库无法找到所需的依赖项:

我建议使用以下常春藤文件:

<ivy-module version="2.0">
  <info organisation="apache-cassandra" module="cassandra"/>

  <configurations>
    <conf name="compile" description="Required to compile application"/>
    <conf name="runtime" description="Additional run-time dependencies" extends="compile"/>
    <conf name="test"    description="Required for test only" extends="runtime"/>
  </configurations>

  <dependencies>
    <!-- FIXME: paranamer can be dropped after we're depending on avro                                                        
    (since it depends on them). -->
    <dependency org="com.thoughtworks.paranamer" name="paranamer-ant" rev="2.1" conf="compile->default"/>
    <dependency org="junit" name="junit" rev="4.6"  conf="compile->default"/>
    <dependency org="commons-logging" name="commons-logging" rev="1.1.1" conf="compile->default"/>
    <dependency org="org.apache.rat" name="apache-rat" rev="0.6"  conf="compile->default"/>
    <dependency org="net.sf.jopt-simple" name="jopt-simple" rev="3.2" conf="compile->default"/>
    <dependency org="net.java.dev.jna" name="jna" rev="3.2.7" conf="compile->default"/>

    <dependency org="com.cloudera.hadoop" name="hadoop-core" rev="0.20.2-320" conf="compile->default"/>
    <dependency org="org.apache.hadoop" name="hadoop-streaming" rev="2.7.2" conf="compile->default"/>
  </dependencies>
</ivy-module>

注意:

  • 我已经包含了一个配置映射,可以更好地控制依赖项(良好的常春藤习惯,类似于范围在Maven中的工作方式)。