如果您的依赖项是目录而不是文件,是否可以使用Ivy或其他依赖管理工具?
我正在创建一个PHP网站,因此我的共享“库”不是jar文件或任何其他存档格式。我知道PHP 5.3中的.phar文件,但我真的更喜欢这些是目录,所以Web服务器可以直接提供它们的内容。
答案 0 :(得分:2)
您不能依赖目录,但可以将依赖项打包为zip,然后告诉Ivy在下载时解压缩它们。这意味着在构建应用程序时,它们将在本地可用于Web服务器。
packager提供了一个可选的dest属性,可以指定该属性将存档解压缩到子文件夹。以下配置应将依赖项解压缩到sub/dir
:
<property name="zipname" value="${name}-${version}"/>
<resource dest="sub/dir" url="http://testng.org/${zipname}.zip"
sha1="2ea19275dc17453306f8bb780fe6ef6e9af7756b">
<url href="http://mirror.example.com/archives/${zipname}.zip"/>
<include name="${zipname}/src/main/**/*"/>
<include name="${zipname}/src/jdk15/**/*"/>
<include name="${zipname}/javadocs/**/*"/>
<include name="${zipname}/*.jar"/>
</resource>