我已经开始使用Ivy来管理我的依赖项,现在我想使用Ivy解决诸如jQuery和其他常见JavaScript库之类的问题。
然而,我能得到的最好,比方说,jQuery是一个包含许多文件夹的jar,以及jQuery的两个变体(正常和最小化)。
在我的案例中,最好的选择是什么?是否可以使用常春藤获取jquery.min.js?或者我应该添加一些目标来解压缩获取的jar并只使用我需要的文件?
答案 0 :(得分:3)
最简单的解决方案是使用常春藤url resolver直接检索javascript文件(参见下面的示例)。
更完整(和复杂)的解决方案是使用packager resolver或设置存储库来托管您需要的文件。
├── build.xml
├── ivysettings.xml
├── ivy.xml
└── build
└── js
├── jquery.js
├── jquery-min.js
├── jquery-migrate.js
└── jquery-migrate-min.js
<project name="demo" default="build" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="resolve">
<ivy:resolve/>
</target>
<target name="build" depends="resolve">
<ivy:retrieve pattern="build/js/[artifact](-[classifier]).[ext]" conf="javascript"/>
</target>
<target name="clean">
<delete dir="build"/>
</target>
<target name="clean-all" depends="clean">
<ivy:cleancache/>
</target>
</project>
注意:
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="com.myspotontheweb" module="demo"/>
<configurations>
<conf name="javascript" description="JS dependencies"/>
</configurations>
<dependencies>
<dependency org="com.jquery" name="jquery" rev="1.9.1" conf="javascript->default">
<artifact name="jquery" type="js"/>
<artifact name="jquery" type="js" e:classifier="min"/>
</dependency>
<dependency org="com.jquery" name="jquery-migrate" rev="1.1.1" conf="javascript->default">
<artifact name="jquery-migrate" type="js"/>
<artifact name="jquery-migrate" type="js" e:classifier="min"/>
</dependency>
</dependencies>
</ivy-module>
注意:
<ivysettings>
<settings defaultResolver="central"/>
<resolvers>
<ibiblio name="central" m2compatible="true"/>
<url name="jquery">
<artifact pattern="http://code.jquery.com/[artifact]-[revision](.[classifier]).[ext]"/>
</url>
</resolvers>
<modules>
<module organisation="com.jquery" resolver="jquery"/>
</modules>
</ivysettings>
注意: