【发布时间】:2015-06-18 13:55:20
【问题描述】:
我在一个项目中使用 ant + ivy。因此,假设我需要为 ant 运行 <sql 任务,因此我需要获取 jdbc 驱动程序 1st。此外,在编译项目期间需要驱动程序。所以我想要2个配置:
- 默认:检索jdbc驱动和其他项目依赖
- jdbc:仅检索 jdbc 驱动程序。
然后使用不同的配置运行检索任务:
<!--Fetch all project dependencies, including jdbc driver-->
<ivy:retrieve pattern="${build.lib.home}/[artifact].[ext]" conf="default" />
<!-- Fetch only jdbc driver-->
<ivy:retrieve pattern="${build.lib.home}/[artifact].[ext]" conf="jdbc" />
ivy.xml
<?xml version="1.0" encoding="UTF-8"?>
<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="" module="notebook-ivy"/>
<configurations>
<conf name="default" visibility="public" extend="jdbc"/>
<conf name="jdbc" visibility="public"/>
</configurations>
<dependencies>
<dependency org="mysql" name="mysql-connector-java" rev="5.1.6" conf="jdbc->default"/>
<dependency org="org.apache.camel" name="camel-core" rev="2.15.1"/>
</dependencies>
</ivy-module>
我正在使用公共 mavencentral,因此无法更改服务器上的依赖项配置: ivysettings.xml
<ivysettings>
<settings defaultResolver="chain"/>
<resolvers>
<chain name="chain">
<ibiblio name="central" m2compatible="true" root="http://central.maven.org/maven2/"/>
</chain>
</resolvers>
</ivysettings>
上述配置有效。但是,当 default extends jdbc 和 jdbc extends default 同时出现时,它看起来很混乱。我是 ivy 新手,所以我的问题是:这是否是为 ivy 使用配置的正确方法。
【问题讨论】: