Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant 将本地JAR添加到ivy构建脚本_Ant_Ivy - Fatal编程技术网

Ant 将本地JAR添加到ivy构建脚本

Ant 将本地JAR添加到ivy构建脚本,ant,ivy,Ant,Ivy,我正在开发一个使用ivy来管理依赖关系的现有应用程序,源代码附带了ivy.xml和ivysettings.xml文件。我正在尝试将我自己的jar添加到构建中。最简单的方法是什么 我尝试向ivy.xml添加依赖项,但不确定如何配置存储库目录。也许有简单的方法可以做到这一点?任何快速而肮脏的方法都可以。与的结合应该会对您有所帮助,假设您可以修改刚刚继承的ivysettings.xml。与的结合应该会对您有所帮助,假设您可以修改刚刚继承的ivysettings.xml。您可以在本地常春藤缓存或共享常春

我正在开发一个使用ivy来管理依赖关系的现有应用程序,源代码附带了
ivy.xml
ivysettings.xml
文件。我正在尝试将我自己的jar添加到构建中。最简单的方法是什么


我尝试向ivy.xml添加依赖项,但不确定如何配置存储库目录。也许有简单的方法可以做到这一点?任何快速而肮脏的方法都可以。

与的结合应该会对您有所帮助,假设您可以修改刚刚继承的
ivysettings.xml

与的结合应该会对您有所帮助,假设您可以修改刚刚继承的
ivysettings.xml

您可以在本地常春藤缓存或共享常春藤缓存下的本地计算机上存储JAR。我相信它是
$HOME/.ivy2/local
$HOME/.ivy2/shared
,它的格式与
$HOME/.ivy2/cache
目录相同。如果您使用
Ant任务将本地jar推送到本地存储库,那么您的所有项目都可以访问它们

然而,我建议你咬紧牙关,做一些事情……技术术语是什么?哦,是的正确的方法

继续并设置一个项目范围的Ivy/Maven存储库,在那里您可以像获取第三方JAR一样获取本地JAR。这样,本地jar和您正在使用的第三方jar之间就没有区别了。没有人需要考虑一个特定的罐子在哪里,或者调整他们的常春藤配置来得到一个或另一个罐子

下载或。您可以设置这些存储库,以便所有第三方jar和本地jar都可用,就好像它们都存储在同一台服务器上一样。您甚至可以添加其他不在中心位置的jar存储库


我推荐拉夫兰的书。它有一个关于使用常春藤的极好的章节。您还可以查看my,了解我如何配置Ivy,以便我们的所有项目都可以轻松访问它。

您可以将JAR存储在本地Ivy缓存或共享Ivy缓存下的计算机上。我相信它是
$HOME/.ivy2/local
$HOME/.ivy2/shared
,它的格式与
$HOME/.ivy2/cache
目录相同。如果您使用
Ant任务将本地jar推送到本地存储库,那么您的所有项目都可以访问它们

然而,我建议你咬紧牙关,做一些事情……技术术语是什么?哦,是的正确的方法

继续并设置一个项目范围的Ivy/Maven存储库,在那里您可以像获取第三方JAR一样获取本地JAR。这样,本地jar和您正在使用的第三方jar之间就没有区别了。没有人需要考虑一个特定的罐子在哪里,或者调整他们的常春藤配置来得到一个或另一个罐子

下载或。您可以设置这些存储库,以便所有第三方jar和本地jar都可用,就好像它们都存储在同一台服务器上一样。您甚至可以添加其他不在中心位置的jar存储库


我推荐拉夫兰的书。它有一个关于使用常春藤的极好的章节。您还可以查看我的,了解我如何配置Ivy,以便我们的所有项目都可以轻松访问它。

必须以“正确的方式”进行操作使常春藤的使用变得非常困难,以至于没有人愿意花2周的时间重新配置项目中的每个模块,就像你从一开始就使用常春藤一样。有时人们只是想现在就把一些东西放到构建系统中,这样设置它的问题就可以分解成多个更小的问题。我仍在把一个项目转换成常春藤。我们有15个不同的基本jar构建,以及40多个不同的项目。更糟糕的是,有人提出了自己的解决方案,将所有构建文件分解成八个或九个独立的文件,并使用复杂的系统查找本地构建的jar。如果您必须使用Ivy进行构建,那么安装Artifactory只需不到一天的时间。我知道,我花了不到一天的时间。我下载了一个JAR的初始基础集,这样我就可以开始构建工作了。不设置Artifactory不会加快实现速度。我所做的一件事是设置一个通用程序。我可以将其设置为Subversion外部,只需将这个ivy.dir添加到您的项目中,ivy就可以配置该项目。我花了大约一整天的时间重新配置系统中的一个模块,以获得编译所需的完整依赖项列表。我更愿意用一种方式说“只需使用这个jar来处理这个依赖项,我不在乎它是什么版本”,因为它可以让事情现在就开始工作,并且可以避免2周的迁移来完成整个构建。基本上,它会在项目的整个生命周期中持续两周,因为人们觉得有必要更新JAR。@Trejkaz我的问题实际上是减少依赖项列表。开发人员已经检查了数百个他们“依赖”的罐子。当然,其中一些是依赖的依赖。我扔掉了整个该死的列表,并让它第一次构建(只引入了大约一百个依赖项。有用的是,通过整个项目找到了真正的依赖项列表。必须以“正确的方式”做事让Ivy工作起来非常困难,以至于没有人愿意花2周的时间重新配置项目中的每个模块,就像你从一开始就使用Ivy一样。有时,人们只是想现在就在构建系统中加入一些东西,以便将设置问题分解为多个小问题。我仍在将一个项目转换为Ivy。我们有15个不同的基本jar构建,一个