17. 架构

17.1. 基本编译和测试

要构建源代码,您需要安装 JDK 1.8。

Spring Cloud 使用 Maven 进行大多数与构建相关的活动,而您 应该能够通过克隆 您感兴趣的项目并键入

$ ./mvnw install
您也可以自己安装 Maven (>=3.3.3) 并运行mvn命令 代替./mvnw在下面的示例中。如果你这样做,你也会 可能需要添加-P spring如果您的本地 Maven 设置没有 包含 Spring 预发布工件的存储库声明。
请注意,您可能需要增加内存量 可用于 Maven,方法是将MAVEN_OPTS环境变量替换为 类似于-Xmx512m -XX:MaxPermSize=128m.我们尝试在 这.mvn配置,所以如果你发现你必须这样做来创建一个 构建成功,请提交工单以将设置添加到 源代码控制。

有关如何构建项目的提示,请查看.travis.yml如果有 是 1 个。应该有一个 “script” 和 “install” 命令。也 查看 “Services” 部分,看看是否有任何服务需要 在本地运行(例如 Mongo 或 Rabbit)。忽略与 git 相关的位 您可能会在 “before_install” 中找到,因为它们与设置 Git 有关 凭证,并且您已经拥有这些。

需要中间件的项目通常包括一个docker-compose.yml,因此请考虑使用 Docker Compose 来运行 middeware 服务器 在 Docker 容器中。请参阅脚本演示中的 README repository 中有关 mongo 常见情况的具体说明, rabbit 和 redis。

如果所有其他方法都失败,则使用.travis.yml(通常./mvnw install).

17.2. 文档

spring-cloud-build 模块有一个 “docs” 配置文件,如果你将 它将尝试从src/main/asciidoc.作为该过程的一部分,它将查找README.adoc并通过加载所有 include 来处理它,但不是 解析或渲染它,只需将其复制到${main.basedir}(默认为$/tmp/releaser-1632340415495-0/spring-cloud-kubernetes/docs,即项目的根)。如果有 README 中的任何更改都将在 Maven 构建后显示为 修改后的文件放在正确的位置。只需提交它并推送更改。

17.3. 使用代码

如果您没有 IDE 首选项,我们建议您在处理代码时使用 Spring Tools SuiteEclipse。我们使用 m2eclipse eclipse 插件来支持 maven。其他 IDE 和工具 只要他们使用 Maven 3.3.3 或更高版本,也应该可以正常工作。

17.3.1. 激活 Spring Maven profile

Spring Cloud 项目需要激活“spring”Maven 配置文件才能解析 Spring Milestone 和 Snapshot 存储库。使用您首选的 IDE 进行设置 配置文件设置为活动状态,否则您可能会遇到构建错误。

17.3.2. 使用 m2eclipse 导入 eclipse

使用 日蚀。如果您还没有安装 m2eclipse,可以从“eclipse marketplace 的

旧版本的 m2e 不支持 Maven 3.3,因此一旦 项目导入到 Eclipse 中,您还需要告诉 m2eclipse 为项目使用正确的配置文件。如果你 看到与项目中的 POM 相关的许多不同的错误,请检查 您拥有最新的安装。如果您无法升级 m2e, 将 “Spring” 配置文件添加到您的settings.xml.或者,您可以 从父级的 “Spring” 配置文件中复制存储库设置 pom 到你的settings.xml.

17.3.3. 在没有 m2eclipse 的情况下导入到 eclipse 中

如果您不想使用 m2eclipse,则可以使用 以下命令:

$ ./mvnw eclipse:eclipse

生成的 Eclipse 项目可以通过选择import existing projectsfile菜单。