Spring 4 二进制文件下载

2024-03-21

我已经有一段时间没有下载spring了。我正在研究 gradle,但似乎还没有掌握它的窍门,所以我想使用 java、Spring 4 和 ant 创建一个新的 spring 框架项目。我似乎找不到下载 Spring 4 二进制文件的地方。

他们只是把蚂蚁开发者踢到公共汽车下面吗?


他们只是把蚂蚁开发者踢到公共汽车下面吗?

不,正如布莱恩mentions https://stackoverflow.com/a/20630626/622403,分发 zip 仍然可以在http://repo.spring.io http://repo.spring.io对于那些没有其他选择的人。我们鼓励 Ant 用户将 Ivy 集成到他们的构建脚本中来管理依赖项,这样他们就不需要这些 dist zip。 Ivy 能够与 Maven 兼容的工件存储库配合使用,以提供与 Maven 和 Gradle 相同的传递依赖管理优势。对于许多人来说,Ant 是一个完美的构建解决方案,我们预计它会持续一段时间。然而,手动管理依赖项,即下载 dist zip、将 jar 存储在网络驱动器上或将其签入源代码管理,在业界被广泛认为是一种有问题的方法。

我们相信大多数 Spring 用户已经以某种形式使用传递依赖管理解决方案。我们继续为那些尚未能够采用这种做法的人提供 dist zip,但要明确的是,我们故意没有在 spring.io 上为这些 dist zip 提供他们曾经在 springsource 上享有的一流待遇.org,因为使用 dist zips 是管理应用程序依赖项的一种较差的方法。

Spring 旨在帮助应用程序开发团队消除不必要的复杂性。没有什么比手动依赖管理带来的“jar 地狱”更能让应用程序的开发变得更加复杂和令人沮丧了。以下是为什么这会如此痛苦的几个例子:

  • 需要连接到存储 jar 的网络驱动器(因此,通常需要连接到公司 VPN);
  • 或者,在将 jar 签入存储库的情况下,需要管理大量、笨重的存储库,通常会导致不同存储库中相同 jar 的许多重复;
  • 没有简单、通用且可靠的方法来 (a) 了解依赖项的版本是什么,更重要的是 (b) 了解该依赖项的该版本是否与应用程序依赖关系图中的所有其他 jar 兼容。

Maven、Gradle 和 Ivy 并不是解决所有依赖管理问题的灵丹妙药,它们自然也有自己的复杂性和学习曲线。然而,当有选择时,绝大多数现代 Java 应用程序开发人员都认为使用传递依赖管理的好处超过了其成本。

我们希望我们在指导用户如何使用 Spring 工件的方法中取得了适当的平衡。通过宣传 Maven 和 Gradle 语法,我们已经将焦点放在了我们(和大多数人)认为是依赖管理最佳实践的方面,但我们通过继续发布发行版 zip 向所有来者敞开了大门。然而,我们正在关注反馈,以确保这种方法实际上适合我们的大多数用户。

有关此主题的更多信息,请参阅https://github.com/spring-projects/spring-framework/wiki/Downloading-Spring-artifacts https://github.com/spring-projects/spring-framework/wiki/Downloading-Spring-artifacts.

最后一点,我们有时会听到人们说他们需要发行版 zip,因为他们的公司不允许访问公共 Maven 存储库,例如 Maven Central (http://search.maven.org http://search.maven.org)或 Spring 存储库(http://repo.spring.io http://repo.spring.io)。这是完全可以理解的,但对这些限制的适当反应并不是让开发团队陷入手动依赖管理的低效黑暗时代。正确的解决方案是在公司防火墙内建立私有工件存储库。该产品领域的主要竞争者是 JFrog 的 Artifactory 和 Sonatype 的 Nexus。我们强烈建议任何仍被迫进行手动依赖性管理的开发团队游说其架构团队研究这些产品并采用其中之一。对生产力、构建可重复性以及公司有效管理依赖关系的能力的好处是巨大的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 4 二进制文件下载 的相关文章

随机推荐

  • type.__setattr__ 与 object.__setattr__ 有什么不同?

    type setattr 用于类 基本上是元类的实例 object setattr 另一方面 用于类的实例 这是完全可以理解的 我没有看到这两种方法之间有显着差异 至少在Python级别 我注意到这两种方法使用相同的属性分配过程 如果我错了
  • core-js 安装后脚本错误失败

    当我尝试在现有的节点中安装节点模块时 我遇到以下错误Angular project 我正在尝试在 Windows 计算机 Win32 X64 中安装节点模块 gt email protected cdn cgi l email protec
  • 如何增加 Android Google Play 服务排行榜上的玩家得分?

    我阅读了有关的所有文档排行榜 https developers google com games services common concepts leaderboards在Google Play服务中 当我调用GameClient的sub
  • 如何在spark-jdbc应用程序中给出表名以读取RDBMS数据库上的数据?

    我正在尝试使用 Spark 读取 greenplum 数据库上存在的表 如下所示 val execQuery s select allColumns 0 as flagCol from schema table where period y
  • 从终端在 xcode PhoneGap 项目中定义方案

    我正在编写一个脚本来存档phonegap 项目的iOS 部分 该脚本会擦除项目所在的目录 然后使用源代码管理中的最新代码重新填充该目录 然后我跑 phonegap local build ios为了构建该项目 然而 为了归档该项目 我需要定
  • 在 Node.js 中生成并终止进程

    我正在尝试在 javascript 中生成一个进程 并在一段时间后终止它 出于测试目的 最后 该进程将是一个无限循环 我需要在指定时间使用不同的参数重新启动 因此我认为生成进程并终止它是执行此操作的最佳方法 我的测试代码是 var spaw
  • 用户默认值/KeyedArchiver 挫败感

    我正在开发一个作业应用程序 该应用程序为每个作业使用自定义作业对象 我试图在 standardUserDefaults 中存储 NSMutableArray 通过 initWithArray 转换为 NSArray 但在保存和重新加载数组时
  • 如何将 subversion 树从 v1.7 降级到 v1.6?

    有没有办法将 subversion 工作副本从版本 1 7 降级到版本 1 6x 版本 1 7 使用单个 svn 根文件夹和 sqlite 来存储元数据 因此 tigris org 中的转换 python 脚本不起作用 您是否知道一种不涉及
  • 如何关闭 Android 应用程序?

    如何关闭 Android 应用程序 我没有找到应用程序对象的关闭命令 我想在出现某些严重错误时关闭并重新启动 如果存在某种 严重错误 那么您应该在代码中处理它 而不是尝试重新启动应用程序 您无法关闭 Android 中的应用程序 但是一旦所
  • 如何防止光标在退出 Vim 插入模式时向后移动一个字符?

    是否可以取消上述行为 额外学分的任务 想办法强制 Vim 在退出插入模式后立即刷新光标位置 虽然我不建议更改默认的光标机制 实现相关行为的一种方法是使用以下内容 插入模式映射 inoremap
  • 绕过表单身份验证自动重定向到登录,如何?

    我正在编写一个使用 asp net mvc 部署到 iis6 的应用程序 我正在使用表单身份验证 通常 当用户尝试在未经适当授权的情况下访问资源时 我希望他们被重定向到登录页面 FormsAuth 对我来说这件事很简单 问题 现在我有一个由
  • 使用 pyqtgraph 和 LiDAR 快速实时绘制点

    我想创建一个实时的点图 GUI 我正在使用 Scanse Sweep LiDAR 每次扫描该 LiDAR 工作频率为 1 10Hz 时 我都会收到大约 1000 个描述 LiDAR 周围环境的点 x y 这是一个 2D 激光雷达 我到处寻找
  • mysql 5.6 外键约束错误; 5.5中没有出现

    涉及表 phppos permissions actions mysql gt show create table phppos permissions actions
  • Sublime Text 3 构建系统:保持控制台运行

    我在 Sublime Text 3 中设置了一个构建系统来运行 Matlab 文件 这真的很好用 cmd usr local MATLAB R2013b bin matlab nosplash nodesktop nojvm r run f
  • 获取 CN1 上没有时间的当前日期

    我在没有时间的情况下获取日期时遇到很大问题 我想将时间设置为 00 00 以便我可以检查日期差异 到目前为止我尝试的步骤 SimpleDateFormat dateFormat new SimpleDateFormat dd MM yyyy
  • 如何设置SMO ScriptingOptions以保证表的精确副本?

    我正在尝试做的事情 使用 C 创建 SQL 脚本来创建exact现有表的副本 我的问题 您将如何定义 scriptingOptions 中的选项以确保生成的脚本将创建 100 精确的表副本 有 78 个选项 目前尚不清楚如何执行此操作 最初
  • 将 ODP.NET 12 (VS2012) 连接到 Oracle 数据库 11 时出现 ORA 03134 错误

    当尝试使用 ODP NET 12 从 VS2012 连接到 Oracle 9 2 时 我收到以下消息 ORA 03134 不再支持与此服务器版本的连接 我已经安装了 ODP NET 11 但遇到了同样的错误 尽管与 Toad 的连接正常 有
  • 查询返回没有记录显示在我的网页上

    我有一个网站 我正在其中运行以下代码
  • 如何在node.js中处理stdout

    我试图自动化每次在服务器上测试应用程序和网站时所经历的过程 我目前正在nodejitsu上运行 当我测试了某些东西并且它可以在我的本地计算机上运行时 我要做的下一件事是 打开我的 package json 文件 删除域字段并将名称和子域更改
  • Spring 4 二进制文件下载

    我已经有一段时间没有下载spring了 我正在研究 gradle 但似乎还没有掌握它的窍门 所以我想使用 java Spring 4 和 ant 创建一个新的 spring 框架项目 我似乎找不到下载 Spring 4 二进制文件的地方 他