2011-04-30 75 views
0

从Java世界即将如果关系捆绑和宝石

rake == ant 
gem == maven #at least the dependency part 

那么到底是什么捆绑?

它说“管理你的应用程序的依赖关系”,但是这不是宝石通过为我提取它而做的事吗?

回答

2

Gem获取一个库并将其安装在其中一个预定义位置,如供应商gem,系统或用户gem目录。该安装的版本将被您的程序使用。所以如果你有两个程序需要两个不同版本的宝石,你可能会不太走运,因为当你安装最新的宝石时,需要较老的应用程序可能会有问题。您可以指定这些宝石的版本号,但这些将需要在目标服务器上继续使用。

捆绑器来了 - 它管理精确的依赖包括宝石版本。因此,当您部署应用程序并指定了所需的精确gem版本时,bundler会负责在当时获取并安装这些精确版本。您的应用现在将捆绑指定版本,以便在目标系统上的宝石具有不同的不兼容版本时,它不会中断。

2

Rake = ant gem = jar Bundler = maven