领先一步
VMware提供培训和认证,以加速您的进度。
了解更多迁移到 Git 和 GitHub 后,项目提交者和 Spring 用户都能从中受益。GitHub 提供了出色的代码浏览、更改历史记录和提交评论用户界面。并且由于 GitHub 上已经托管了大量开源项目,这意味着您正在使用一个易于理解的用户界面,并且您已经知道如何浏览源代码控制、检查最近的更改等等。但 GitHub 的真正强大之处在于它鼓励和支持社区贡献。这一点将在下面的“贡献流程”部分中进一步讨论。
目前,如果您还没有访问过,请查看 GitHub 上的 SpringSource 组织;您会发现我们像往常一样忙碌。
Spring 构件的 GA 版本将像往常一样继续发布到Maven Central,但 repo.springsource.org 将我们之前在 maven.springframework.org 的基础设施替换为一个功能强大的解决方案——合适的 UI 和搜索功能,与我们在build.springsource.org的 CI 服务器深度集成,以及许多其他有助于项目团队简化发布流程的功能。
对 Spring 用户来说,SpringSource 仓库是满足所有 Spring 依赖项需求的一站式商店。
如果您在构建脚本中使用了 maven.springframework.org URL,它们将无限期地继续工作*,但这些 URL 应该被认为是“已弃用”的,未来应优先使用 repo.springsource.org。
可以在 Spring Framework GitHub wiki 的下载 Spring 构件页面找到进一步的说明和使用说明。SpringSource 仓库常见问题解答应该能够解答您遇到的任何问题。如果没有,请告诉我们!
非常感谢JFrog(Artifactory 的制造商)团队与我们合作使这一切成为可能。在如此多的繁忙项目中切换仓库基础设施很容易导致灾难,但在他们的帮助下,一切都进行得很顺利。还要感谢Sonatype团队始终迅速且乐于助人地响应我们对 Maven Central 的需求。
Gradle 具有许多创新功能,使用起来非常方便,例如增量构建系统,可以显著减少构建时间;简洁的命令行输出,只显示您需要知道的内容;以及简洁的语法,使构建大型代码库(如 Spring Framework)成为可能,同时使用非常小巧易读的构建脚本。
对于 Spring 用户来说,用于构建 Spring 项目的系统似乎并不重要。事实上,就像大多数 Linux 用户不编译自己的内核一样,大多数 Spring 用户从未从源代码构建 Spring 构件。但像任何优秀的开源项目一样,有些人会这样做。无论只是为了更好地理解 Spring,还是为了进行更改并回馈项目,从源代码构建 Spring 的人数都在增长,部分原因在于 Gradle 使这样做变得非常简单。Gradle 的一个伟大功能是所谓的Gradle Wrapper,它本质上是一个平台原生 shell 脚本,用于下载和安装项目使用的确切 Gradle 版本。这意味着从源代码构建基于 Gradle 的 Spring 项目实际上就像键入一样简单
$ git clone https://github.com/SpringSource/spring-framework.git
$ cd spring-framework
$ ./gradlew build
如您所见,那里的“gradlew”脚本已签入项目源代码控制。因此,随着用于构建项目的 Gradle 版本发生更改,包装器保持最新状态,并在必要时自动下载新版本的 Gradle。这意味着永远不会听到“构建已损坏”,只是发现使用了两个不同版本的构建工具。这意味着 Spring 项目可以立即跟上 Gradle 的最新更改,而不会冒着破坏其他提交者和贡献者构建的风险。
查看 Spring Framework 自述文件中从源代码构建部分中的完整(但仍然非常简单)说明。将您在那里看到的 100 个单词与几年前我撰写的关于构建 Spring 3的 1500 个单词的博客文章进行比较。我希望您会发现这是一个很大的改进。尝试一下——您甚至可能会喜欢它
Gradle 团队在这个过程中提供了巨大的帮助——Spring 项目经常将 Gradle 推到极限,并在过去几年中用需求挑战团队,而 Gradle 团队一直非常积极响应并乐于助人。许多 Spring 项目如今肯定因为 Gradle 而变得更好,我们希望 Gradle 本身也因为我们抛出的挑战而变得更好一些。祝贺团队获得 1.0 版本!
自从 Spring Framework 在 2011 年底迁移到 GitHub,到撰写本文的 2012 年 6 月,该项目已收到 100 多个拉取请求。并非每个拉取请求都会被采纳。结果取决于审查流程,但尽管如此,许多这些贡献都已纳入,有时是在大量讨论和改进之后。我们根据这段时间所学到的经验,整理了一份贡献者指南文档;如果您想回馈框架,请阅读一下。这是让您的问题排在首位的好方法。我们自然会优先考虑那些花时间提供高质量贡献的用户。感谢所有已经这样做的人,并感谢未来的贡献者!
我们很高兴地通过这篇博客文章宣布新的spring-framework-contrib邮件列表,该列表托管在 Google Groups 上。此列表专门面向希望为 Spring Framework 项目贡献代码的开发人员。在这里,您可以直接与提交者和其他贡献者讨论您的想法——在编写代码之前或期间。我们鼓励任何考虑提交拉取请求的人都加入该组,并在那里与我们讨论您的想法。
您还会注意到Spring Framework JIRA项目周围的一些较小的更改:一套修订后的组件、简化的问题创建界面以及许多其他调整,旨在使问题报告尽可能有用且轻松。
我们想确保Spring社区中的每个人都知道另一个问答资源。您可能知道,在过去的几年里,Stack Overflow已成为一个非常受欢迎的编程问答资源。Spring相关的问答也不例外。如果您访问http://stackoverflow.com/tags并输入“spring”,您会看到那里已经有许多与Spring相关的标签,其中spring和spring-mvc最为流行。我和Spring团队的其他成员经常对Stack Overflow上高质量的讨论印象深刻,我们很高兴看到并感谢所有提供出色答案的人。
像Stack Overflow那样基于标签的系统,其性质上比Spring论坛提供的严格面向项目的类别更难以定义,但我们建议,如果您有Spring Framework的具体问题,请根据需要使用“spring”或“spring-mvc”标签。如果您有与Spring Integration相关的问题,请使用spring-integration标签,以此类推。这实际上不言自明。
**各个Spring项目团队可以自由选择最适合他们的构建工具。这意味着,虽然许多项目已迁移到Gradle,但可以预见其他项目将继续使用Maven。