社区新人开发者启动及开发防踩坑指南
#
前言作为 Shenyu
社区初来乍到的开发者,我在按照相关教程进行项目启动及开发的过程中,遇到了一些教程中并未提及到的 “坑” , 我将我启动shenyu
, shenyu-dashboard
, shenyu-website
的详细步骤记录在这篇博客中,希望可以帮到社区中更多的新人开发者。
#
环境准备- 本地正确安装
JDK1.8+
- 本地正确安装
Git
- 选择一款开发工具,本文使用
IDEA
为例
#
ShenYu 后端启动指南#
安装并配置MavenMaven是一个跨平台的项目管理工具。作为Apache组织顶级开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理。
下载 maven,并解压到一个没有中文没有空格的路径下。
将
maven
目录下的bin
目录添加至环境变量中。以Windows
为例,若下载目录为E:\apache-maven-3.9.1
,则将E:\apache-maven-3.9.1\bin
添加至Path
系统变量中。验证是否安装成功。在命令行窗口中输入
mvn -v
,若出现 Maven 版本及 Java 版本即为安装成功。如下所示:C:\Users\pc>mvn -vApache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8)Maven home: E:\apache-maven-3.9.1Java version: 18.0.1.1, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-18.0.1.1Default locale: zh_CN, platform encoding: UTF-8OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
为了加快项目相关依赖的下载速度,需要更改 Maven 镜像,此处添加阿里云等镜像。将
conf/settings.xml
中<mirrors> </mirrors>
标签对更改为以下内容:<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <mirror> <id>maven</id> <mirrorOf>central</mirrorOf> <name>name_</name> <url>http://repo1.maven.org/maven2</url> </mirror> <mirror> <id>junit</id> <mirrorOf>central</mirrorOf> <name>junit address/</name> <url>http://jcenter.bintray.com/</url> </mirror></mirrors>
并在
</mirrors>
下一行添加<localRepository>E:/maven_local_repository</localRepository>
设置 Maven 本地仓库位置。具体位置可自行指定。
#
拉取 ShenYu 代码在 Github 上 Fork ShenYu 仓库到自己的存储库中,以后可在此仓库中进行开发并提交 PR
使用 Git 将上一步 Fork 的仓库下载到本地:
git clone git@github.com:${YOUR_USERNAME}/${TARGET_REPO}.git
若提示文件名过长,则通过命令行执行下面的命令:
git config --global core.longpaths true
#
ShenYu 初启动#
准备工作在
shenyu
目录下使用 Maven 进行编译:mvn clean install -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests
配置 IDEA 环境。使用 IDEA 打开
shenyu
项目,点击左上角File
->Settings
,按照下图配置 Maven 。其中User settings file
选择你的settings.xml
所在目录,Local repository
会自动加载settings.xml
中设置的localRepository
路径:此时,IDEA 会自动下载项目相关依赖,需等待一会,完成后如下图所示:
可以发现,
shenyu-e2e
,shenyu-examples
,shenyu-integrated-test
没有被 IDEA 标记为 Maven 项目,需手动添加。分别选中包中的pom.xml
文件,右键点击Add as Maven Project
。 若 shenyu-e2e 构建失败,则将其pom.xml
中<relativePath>./pom.xml</relativePath>
改为<relativePath/>
。
#
启动网关服务启动
shenyu-admin
控制台(默认使用H2数据库)启动
shenyu-bootstrap
到这一步,shenyu网关已经启动。
我们可以打开浏览器,访问admin控制台:http://localhost:9095/
默认账号:admin ,默认密码:123456
#
启动应用服务Apache ShenYu提供了Http、Dubbo、SpringCloud等应用接入shenyu网关的样例,位于 shenyu-example
模块,这里以Http服务为例。
启动 shenyu-examples-http
。
这时,shenyu-examples-http
会自动把加 @ShenyuSpringMvcClient
注解的接口方法,以及application.yml中的相关配置注册到网关。我们打开 admin控制台,即可在插件列表 -> Proxy -> divide
中看到相关配置。
#
测试Http请求下面使用 IDEA HTTP Client Plugin
模拟 http 的方式来访问 http 服务。
本地访问,不使用 shenyu 代理
使用 shenyu 代理
#
使用更多插件我们可以参考 官方文档左侧插件集合
,来使用所需要插件。
#
Shenyu 前端启动指南#
安装 Node.js#
下载在官网下载并安装Node.js ,选择
LTS
版本即可安装时,除了设置安装路径,其他一直点
Next
即可安装完成后,在命令行中进行验证:
C:\Users\pc>node -vv12.22.12 C:\Users\pc>npm -v6.14.16
#
换源为了加快 npm 下载速度,需要进行换源:
# 查看当前源npm config get registry# 换为中国 npmmirror 镜像源npm config set registry https://registry.npmmirror.com# 查看是否换源成功npm config get registry
#
拉取 ShenYu Dashboard 代码Fork ShenYu Dashboard 仓库
使用 Git 下载到本地:
git clone git@github.com:${YOUR_USERNAME}/${TARGET_REPO}.git
#
前后端联合开发在后端仓库
shenyu
的shenyu-admin/src/main/resources/application.yml
文件中按下图所示添加enablePrintApiLog: true
,以在后端控制台显示前端接口被调用的日志。启动
ShenyuAdminBootstrap
切换至前端仓库
shenyu-dashboard
,打开README
,依次点击npm install
,npm start
或通过命令行输入上述命令即可通过 http://localhost:8000 访问前端界面,并可在后端控制台中显示前端接口被调用的日志,实现前后端联合开发。
#
打包前端代码执行 README
中 npm build
命令,并将 dist 文件夹下生成的所有文件复制到后端仓库中 shenyu-admin/src/main/resources/static/
目录下。
#
为 Shenyu 官网做贡献按照 shenyu-website 中 README
进行操作即可。
#
小贴士- 可以为
yarn
进行换源,流程同npm
- 建议下载
Node
官网中LTS
版本 Windows
系统无法进行部署,如需对你的更改进行验证,可以在Linux 虚拟机或服务器上进行部署