跳过常春藤手动解决和下载依赖项
Skip Ivy resolve and download dependencies manually instead
我正在尝试安装 cassandra,但在解决某些依赖项时遇到困难。有没有办法直接下载jar文件,跳过ivy resolve选项呢
我不熟悉 Apache Ant 或 Apache Ivy。
此处描述了 Apache Ivy 设置:https://gist.github.com/nipunarora/5fa2c22770f575d81a0698644c5eeb02
Apache Ivy 在这里:
https://gist.github.com/nipunarora/d24f15768ff13470c5eb55a4f356650a
无法解决来自 cloudera 的几个依赖项。我可以从网上下载 jar 文件,所以我想跳过解析依赖项并改为手动下载它们。
手动管理依赖项并不好玩...我不推荐...
您的问题似乎是 cloudera 更改了他们的存储库 URL。我发现了第二个问题,即缺少 hadoop 流式工件。我改为从 hadoop 项目中提取 jar。
ivy 设置文件
我建议使用更简单的替代设置:
<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>
基本上配置 ivy 以从 cloudera 存储库下载 cloudera 工件以及从 Maven central
下载其他所有内容
缺少 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>
注:
- 我已经包含了一个配置映射来更好地控制依赖关系(良好的 ivy 习惯,类似于作用域在 Maven 中的工作方式)。
我正在尝试安装 cassandra,但在解决某些依赖项时遇到困难。有没有办法直接下载jar文件,跳过ivy resolve选项呢
我不熟悉 Apache Ant 或 Apache Ivy。
此处描述了 Apache Ivy 设置:https://gist.github.com/nipunarora/5fa2c22770f575d81a0698644c5eeb02
Apache Ivy 在这里: https://gist.github.com/nipunarora/d24f15768ff13470c5eb55a4f356650a
无法解决来自 cloudera 的几个依赖项。我可以从网上下载 jar 文件,所以我想跳过解析依赖项并改为手动下载它们。
手动管理依赖项并不好玩...我不推荐...
您的问题似乎是 cloudera 更改了他们的存储库 URL。我发现了第二个问题,即缺少 hadoop 流式工件。我改为从 hadoop 项目中提取 jar。
ivy 设置文件
我建议使用更简单的替代设置:
<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>
基本上配置 ivy 以从 cloudera 存储库下载 cloudera 工件以及从 Maven central
下载其他所有内容缺少 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>
注:
- 我已经包含了一个配置映射来更好地控制依赖关系(良好的 ivy 习惯,类似于作用域在 Maven 中的工作方式)。