跳至主要內容

后端启动

大约 4 分钟快速启动快速启动后端启动

修改配置并编译项目

  1. 创建数据库:根据你使用的数据库选择正确的创建数据库SQL语句

    # mysql
    CREATE DATABASE IF NOT EXISTS `lamp_none` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    
    # oracle
    create user lamp_none identified by lamp_none;
    grant create session,create table,create sequence,create view,resource to lamp_none;
    
    # SQL Server
    CREATE DATABASE lamp_none COLLATE Chinese_PRC_CI_AS;
    
  2. 导入sql脚本open in new window

    向 lamp_none 库导入 lamp_none.sqlopen in new window

  3. 参考 将配置文件导入Nacos , 将所有配置导入 nacos 对应的 命名空间 中,并在nacos的配置列表修改mysql、redis、rabbitmq等信息 (ip、端口、密码等)。

    提示

    密码是纯数字、含有特殊字符、没有密码的, 必须加上单引号。 如:

    • 你的密码是:00000,必须写成:'00000'
    • 没有密码必须写成:''
  4. 修改 nacos 中的 mysql.yml或oracle.yml或sqlserver.yml 配置文件

    # mysql.yml
    lamp: 
      mysql: &db-mysql
        filters: stat,wall
        db-type: mysql   
        validation-query: SELECT 'x'  
        username: 'root'
        password: 'root'
        # 生产使用原生驱动
        # driverClassName: com.mysql.cj.jdbc.Driver
        # url: jdbc:mysql://127.0.0.1:3306/lamp_none?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true  
        # 开发使用p6spy驱动打印日志
        driverClassName: com.p6spy.engine.spy.P6SpyDriver
        url: jdbc:p6spy:mysql://127.0.0.1:3306/lamp_none?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true
    
    spring:
      datasource:
        druid:
          enable: true
          <<: *db-mysql    
    
  5. 修改数据库驱动

    根据使用的数据库,修改lamp-public/lamp-database-mode/pom.xmlopen in new window中的驱动依赖

    <!-- mysql 驱动 -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
    </dependency>
    
  6. 修改常量类 Conditionopen in new window

    public class Condition {
    
        /** MySQL、SQLServer 数据库的 模糊查询 */
        public static final String LIKE = SqlCondition.LIKE;
    //    /**  ORACLE 数据库的 模糊查询 */
    //    public static final String LIKE = SqlCondition.ORACLE_LIKE;
    }
    
  7. 修改 src/main/filters/config-dev.propertiesopen in new window 文件的的配置

    • nacos.xx : nacos相关参数

      强烈建议namespace跟我的保持一致,减少出错概率!

    • seata.xx: seata 相关参数

    • logging.file.path: 项目的日志文件存放路径

    • database.type: 数据库类型

    # ip 可以配置成自定义域名,并在hosts文件配置映射,解决切换网络时nacos不可用的bug
    nacos.ip=127.0.0.1
    nacos.port=8848
    nacos.namespace=b16f7baf-56e7-4f4e-a26c-425ee0668016
    nacos.username=nacos
    nacos.password=nacos
    nacos.seata.namespace=3cca7d98-3b1c-44d3-90e5-86abaaf0048a
    
    # seata 的 grouplist ip 端口
    seata.ip=127.0.0.1
    seata.port=8091
    
    # 日志存放位置 
    # 划重点:mac和linux系统需要修改为 已经创建好,且有访问权限的地址!!!
    logging.file.path=/data/projects/logs
    sentinel.dashboard=127.0.0.1:8088
    
    # 数据库类型 mysql.yml oracle.yml sqlserver.yml
    database.type=mysql.yml
    














     




  8. 在电脑上创建日志存放路径,路径地址为 src/main/filters/config-dev.propertiesopen in new window 中的 logging.file.path

    mac 系统和linux系统,需要手动创建 /data/projects/logs 目录或者将logging.file.path参数修改为已存在且有写入权限的路径。

    某些mac系统是无法在跟路径创建/data目录的,可以自己修改成其他目录。

    # mac系统创建目录并授权:
    mkdir -p /data/projects/logs/
    chown -R ${USER}:wheel /data/projects/logs
    
  9. 编译项目, 参考 项目导入 将 lamp-cloud 和 lamp-util 同时导入到一个IDEA工作空间, 然后使用 maven 编译项目

  10. 编译成功后,验证所有服务的 lamp-cloud/lamp-*/lamp-*-server/target/classes/bootstrap.yml 文件中,@nacos.*@ 是否成功替换为 config-dev.propertiesopen in new window 中的内容.

启动项目

  1. 先确保nacosMySQLRedisSeataRabbitMQ(可选)、等基础服务是否启动成功
  2. 逐一启动 OauthServerApplication、SystemServerApplication、BaseServerApplication、GatewayServerApplication、MonitorApplication

验证是否启动成功

  1. 打开 nacos控制台open in new window 若看到下图,则说明服务注册成功

  2. 或者打开项目控制台,看到打印的如图信息说明启动成功。

  3. 通过以下地址访问Swagger文档

    • 认证服务文档:http://127.0.0.1:18773/doc.html
    • 系统服务文档:http://127.0.0.1:18771/doc.html
    • 基础服务文档:http://127.0.0.1:18764/doc.html
    • SpringBootAdmin监控:http://127.0.0.1:18762/lamp-monitor
    • gateway网关聚合文档:http://127.0.0.1:18760/api/doc.html

常见问题

  1. Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

    答: 了解详情open in new window

  2. yml配置中${NACOS_IP:@nacos.ip@} 是什么意思

    答: 了解详情open in new window

  3. 怎么将lamp-cloud和lamp-util等任意两个java maven管理的项目同时导入一个IDEA的工作空间?

答:了解详情open in new window

  1. org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1

    答:了解详情open in new window

👆🏻👆🏻👆🏻上面是评论区,对系统、本页文档什么疑问,可以在评论区留言。
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。