Web applications ant、ivy、多个项目和可传递依赖项
我有两个项目,A和B,B是一个网络应用。项目B依赖于A,因此A的ivy.xml类似于:Web applications ant、ivy、多个项目和可传递依赖项,web-applications,ant,ivy,Web Applications,Ant,Ivy,我有两个项目,A和B,B是一个网络应用。项目B依赖于A,因此A的ivy.xml类似于: <ivy-module version="2.0"> <info organisation="com.confused" module="B" status="integration"/> <dependencies> <!-- confused dependencies --> <dependency name="A"
<ivy-module version="2.0">
<info organisation="com.confused" module="B" status="integration"/>
<dependencies>
<!-- confused dependencies -->
<dependency name="A" rev="latest.integration"/>
<!-- 3rd party dependencies -->
<dependency org="org.springframework" name="spring-core" rev="3.2.2.RELEASE"/>
<dependency org="org.springframework" name="spring-jdbc" rev="3.2.2.RELEASE"/>
<dependency org="org.springframework" name="spring-webmvc" rev="3.2.2.RELEASE"/>
</dependencies>
</ivy-module>
类似的东西…我的A模块看起来像:
<ivy-module version="2.0">
<info organisation="com.confused" module="A" status="integration"/>
<dependencies>
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.5"/>
<dependency org="ch.qos.logback" name="logback-classic" rev="1.0.11"/>
<dependency org="ch.qos.logback" name="logback-core" rev="1.0.11"/>
</dependencies>
</ivy-module>
一切都好……除了:
当我构建B时,lib目录中填充了springjar和A.jar。很好,但是如果我想“部署”我的webapp,我需要将这些jar复制到WEB-INF/lib以及A所依赖的日志jar中。如何让ant/ivy也“解析”JAR?您没有将依赖项所依赖的配置放在一起 有一组非官方的配置与
ivy.xml
文件中使用的Maven配置相匹配。这个文件使用它们,我的开发人员可以将它们作为ivy.xml
文件的基础
您需要做的是映射您的配置。下面是一个名为ivy.xml
的文件:
<ivy-module version="2.0">
<info organisation="com.confused" module="A" status="integration"/>
<configurations>
<configuration .../>
<!-- These are the configurations from the ivy.template.xml file -->
</configurations>
<dependencies>
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.5"
conf="compile->default"/>
<dependency org="ch.qos.logback" name="logback-classic" rev="1.0.11"
conf="compile->default"/>
<dependency org="ch.qos.logback" name="logback-core" rev="1.0.11"
conf="compile->default"/>
</dependencies>
</ivy-module>
项目A的jar及其依赖项只是项目“B”依赖的另一组jar
当然,在“B”可以使用之前,您必须先将A的jar存储到您的常春藤存储库中。是的,我是这方面的新手,不完全了解配置。我还是不知道,但我现在要去弄清楚!不过,我想出来的足以证明你是对的,非常感谢!配置是对依赖项进行分组的一种方法。例如,标准是具有“编译”配置、“测试”配置和“运行时”配置。您可以使用
创建类路径。a->b
映射是影响行为的一种方式,我拥有的标准配置与Maven的配置相匹配。
<ivy-module version="2.0">
<info organisation="com.confused" module="B" status="integration"/>
<configurations>
<configuration .../>
<!-- These are the configurations from the ivy.template.xml file -->
</configurations>
<dependencies>
<!-- Don't forget the organisation field!-->
<dependency org="com.confused" name="A" rev="latest.integration"
conf="compile->default"/>
<!-- 3rd party dependencies -->
<dependency org="org.springframework" name="spring-core" rev="3.2.2.RELEASE"
conf="compile->default"/>
<dependency org="org.springframework" name="spring-jdbc" rev="3.2.2.RELEASE"
conf="compile->default"/>
<dependency org="org.springframework" name="spring-webmvc" rev="3.2.2.RELEASE"
conf="compile->default"/>
</dependencies>
</ivy-module>