开源项目AG-Admin在本地运行时遇到的问题和解决方法

开源项目AG-Admin在本地运行时遇到的问题和解决方法

过程参考:https://blog.csdn.net/u011781521/article/details/79056974

一:步骤:

  • 1.源码下载项目:https://gitee.com/zerglou/ace-security
  • 2.使用idea导入源码
  • 3.redis安装,下载地址: https://redis.io/
  • 4.RabbitMQ运行环境 ErlangOTP安装,下载地址:http://www.erlang.org/downloads
  • 5.RabbitMQ安装,下载地址:http://www.rabbitmq.com/download.html
  • 6.RabbitMQ-Plugins插件安装:在rabbitmq的安装目录下的sbin目录内使用cmd执行:rabbitmq-plugins enable rabbitmq_management 然后重启服务,使用命令(此时最后以管理员运行CMD):net stop RabbitMQ && net start RabbitMQ
  • 7.mysql数据库导入(分别导入ace-admin/db/init.sql、ace-auth-server/db/init.sql 这两个脚本)
  • 8.配置hosts文件:修改项目里所有的defaultZone参数
  • 9.修改数据库配置文件:修改ace-admin/src/main/resources/application.yml、ace-gate/src/main/resources/application.yml这两个配置文件中连接数据库的一些信息
  • 10. 按顺序运行main类:CenterBootstrap(ace-center)、ConfigServerBootstrap(ace-config)、AuthBootstrap(ace-auth-server)、AdminBootstrap(ace-admin)、GateBootstrap(ace-gate)
  • 11.下载前端vue源码
  • 12.启动前端:先cnpm install,之后cnpm run dev

二.过程遇到的问题:

问题1:

在启动CenterBootstrap(ace-center)时报错如下:
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
原因分析:
我使用的是jdk10,而从jdk9开始java EE就不再提供JAXB API,因此在jdk9.0及以后的版本中不再包含这个 Jar 包。
而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的
解决方案:可以从maven的中央库中下载
Maven项目可添加如下依赖:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>

然后maven会自动导入相应的插件,导入成功后,再重新启动CenterBootstrap(ace-center),重启成功

问题2:

在启动ConfigServerBootstrap(ace-config)时报错如下:
Error:java: java.lang.ExceptionInInitializerError
原因分析: AG-Admin项目原本使用的lombok版本是0.16,而我的idea上下载的版本是0.19,致使maven在识别lombok版本时出现jar包的依赖冲突。
解决方法:
将主项目目录下的pom.xml文件中的

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.14</version>
    <scope>provided</scope>
</dependency>

改成:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.0</version>
    <scope>provided</scope>
</dependency>

然后让maven自动更新jar包,更新完之后ConfigServerBootstrap(ace-config)可以正常启动。
五个都启动成功之后,则后台就全部起动成功

问题3:

前端vue项目的默认下载地址已不再使用,下载地址改为https://gitee.com/liaoj/AG-Admin-v2.0https://gitee.com/skyscraper/AG-Admin-v2.0

问题4:

前端起动前要提前启动nginx,
nginx的配置如下:

    location /jwt/ {
        proxy_pass http://127.0.0.1:8765/jwt/;
    }
    location /api/ {
        proxy_pass http://127.0.0.1:8765/api/;
     }

问题5:

前端起动完成后,在登陆界面点击登陆会出现错误提示:Request failed with status code 500

这里写图片描述
在后台GateBootstrap进程中报的错误是:
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:53) ~[jedis-2.9.0.jar:na]
at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226) ~[jedis-2.9.0.jar:na]
at redis.clients.jedis.JedisPool.getResource(JedisPool.java:16) ~[jedis-2.9.0.jar:na]
at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:194) ~[spring-data-redis-1.8.4.RELEASE.jar:na]
… 87 common frames omitted
原因分析:未启动Redis
解决方案:从redis官网上下载redis并启动,redis起动端口为默认端口
这里写图片描述
再次点击登陆:成功登陆
这里写图片描述
至此:开源项目AG-Admin的前端和后台都已成功运行

运行成功之后的前端加后台打包代码下载地址:https://download.csdn.net/download/qingshuiwater/10634269

猜你喜欢

转载自blog.csdn.net/qingshuiwater/article/details/82191070