1. 在微信搜素黑马程序员,进入小程序后,点击底部的“免费教程”,然后搜索“苍穹外卖”,点击进入网盘,选择“资料”进行保存。
2. 把上一步保存的“资料”下载并解压,打开里面的day01文件夹,在 前端运行环境 中,把nginx-1.20.2文件夹复制到一个不含中文的路径下。
3. 更改nginx.conf文件里的监听端口号(如果没有端口冲突问题就不用改)。
4. 把与SQL相关的其他服务停掉,然后再启动MySQL服务,否则可能会冲突。
5. 使用图形界面或者命令行窗口导入数据库脚本
6. 把后端初始工程sky-take-out复制到IDEA的workspace,然后打开IDEA,点击File->Open,选择sky-take-out项目后确定,等待同步完成。
7. 修改父工程sky-take-out下的pom.xml,把其中的lombok版本号改为1.18.30,更改完记得reload一下
8. 修改sky-server下的两个配置文件application.yml和application-dev.yml。其中,在application-dev.yml中把数据库的密码改为你自己的,如果密码是纯数字,要加双引号。在application.yml中,修改端口号port为8081(如果存在端口冲突问题)。
9. 修改nginx里nginx.conf文件的以下内容,跟上面的端口号对应(如果上一步没有修改端口号的不用改)。
10. 在父工程sky-take-out中,先进行clean,再进行install,最后再compile,防止出现问题。
11. 运行sky-server下的SkyApplication。登录前端页面http://localhost:8090/#/login。点击“登录”即可。
可能出现的问题:
①更改settings文件的路径为安装maven时的路径(如果没出错,不修改好像也没什么问题???)
②lombok的版本问题,JDK21或22对应的lombok版本为1.18.30。
java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'
③jar包找不到的问题。可参见前面的步骤10
[ERROR] Failed to execute goal on project sky-server: Could not resolve dependencies for project com.sky:sky-server:jar:1.0-SNAPSHOT: The following artifacts could not be resolved: com.sky:sky-common:jar:1.0-SNAPSHOT, com.sky:sky-pojo:jar:1.0-SNAPSHOT: Could not find artifact com.sky:sky-common:jar:1.0-SNAPSHOT -> [Help 1]
④数据库连接不上的问题。可参加前面的步骤4
2024-04-17 21:53:09.558 ERROR 77564 --- [eate-1682178149] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://localhost:3306/sky_take_out?
⑤未指定JDK版本。在Edit Configurations中把JDK改为你自己下载的版本,如JDK17或21、22等。(我这里没出错就先不改了,或者有时候刚打开项目的时候会有一个弹窗让你确定JDK版本,点击确认就好了)。
java: JDK isn't specified for module 'sky-server'