17. 构建
17.1. 基本编译和测试
要构建源代码,您需要安装 JDK 1.8。
Spring Cloud 大多使用 Maven 进行构建相关操作,您可以通过克隆您感兴趣的项目并输入以下命令,快速上手。
$ ./mvnw install
您也可以自行安装 Maven(>=3.3.3),并在以下示例中用 mvn 替代 ./mvnw。如果您这样做,且本地 Maven 配置中未包含 Spring 预发布构件的仓库声明,则可能还需要添加 -P spring。 |
请注意,您可能需要通过设置一个 MAVEN_OPTS 环境变量来增加 Maven 可用的内存,其值可类似为 -Xmx1024m。我们已在 build 配置中尽量涵盖此情况;如果您发现必须进行此类设置才能使构建成功,请提交工单,以便将相关配置添加到源代码控制中。 |
查找构建项目的提示,请查看.travis.yml,如果有的话。应该有一个“脚本”和可能的“安装”命令。另外,查看“服务”部分,看看是否需要在本地运行某些服务(例如 mongo 或 rabbit)。忽略可以在“before_install”中找到的与 git 相关的部分,因为它们与设置 git 凭证相关,而您已经拥有这些凭证了。
由于需要middleware的project中你必须包含
docker-compose.yml,所以考虑使用
Docker Compose杭运行middleware server 在Docker container中,参考
scripts demo 存储库中readme.md可以查看about mongo,rabbit 和redis的使用方法。
如果其他方法都失败了,请使用 .travis.yml(通常是 ./mvnw install)中的命令进行构建。 |
17.2. 文档
spring-cloud-build 模块包含一个 "docs" 配置文件,若启用该配置文件,它将尝试从 src/main/asciidoc 构建 AsciiDoc 源文件。在此过程中,它会查找一个 README.adoc,并加载其中的所有包含内容,但仅复制而不进行解析或渲染,最终将其复制到 ${main.basedir}(默认值为 $/tmp/releaser-1632340415495-0/spring-cloud-kubernetes/docs,即项目的根目录)。如果 README 文件有任何更改,构建完成后,该修改后的文件将出现在正确的位置。只需提交并推送此更改即可。
17.3. Working with the code
如果您没有特定的 IDE 偏好,我们建议您在编写代码时使用 Spring Tools Suite 或 Eclipse。我们使用 m2eclipse Eclipse 插件来支持 Maven。其他 IDE 和工具只要使用 Maven 3.3.3 或更高版本,也应该可以正常工作。
17.3.1.激活Spring Maven配置文件
Spring Cloud 项目需要激活 'spring' Maven 配置文件,以解析 Spring 的里程碑版本和快照仓库。请使用您偏好的 IDE 将此配置文件设置为激活状态,否则可能会遇到构建错误。
17.3.2. 导入到Eclipse中使用m2eclipse
我们推荐在使用 Eclipse 时安装 m2eclipse Eclipse 插件。如果您尚未安装 m2eclipse,它可从“Eclipse 市场”中获取。
旧版本的 m2e 不支持 Maven 3.3,因此在将项目导入 Eclipse 后,您还需告知 m2eclipse 为项目使用正确的配置文件。如果您在项目中看到许多与 POM 相关的错误,请检查您是否已安装最新版本。如果无法升级 m2e,请将 "spring" 配置文件添加到您的 settings.xml 中。或者,您可以将父 POM 的 "spring" 配置文件中的仓库设置复制到您的 settings.xml 中。 |
17.3.3. 导入到 eclipse 中,没有 m2eclipse
如果您不希望使用 m2eclipse,可以使用以下命令生成 Eclipse 项目元数据:
$ ./mvnw eclipse:eclipse
生成的 Eclipse 项目可以通过选择 import existing projects 从 file 菜单中导入。