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 配置中尽量涵盖此情况;如果您发现必须进行此类设置才能使构建成功,请提交工单,以便将相关配置添加到源代码控制中。 |
那些需要中间件(例如 Redis)进行测试的项目通常要求本地安装并运行 [Docker](www.docker.com/get-started)。
17.2. 文档
spring-cloud-build 模块包含一个 "docs" 配置文件,若启用该配置文件,它将尝试从 src/main/asciidoc 构建 AsciiDoc 源文件。在此过程中,它会查找一个 README.adoc,并加载其中的所有包含内容,但仅复制而不进行解析或渲染,最终将其复制到 ${main.basedir}(默认值为 $/opt/jenkins/data/workspace/spring-cloud-kubernetes-2.0.x-ci/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 菜单中导入。