**
Zheng框架搭建时遇到的一些坑
**
前段时间在git上看到zheng框架,让我这个很久没搞java的人惊为天人,赶紧在这里膜拜一下zhangshuzheng大神,下面就讲讲我在搭建时遇到的一些坑(原谅我这个小白,大神请绕道)
在网上搜了一篇CSDN大哥写的教程开始搭建
https://blog.csdn.net/u011781521/article/details/79012311(大哥的教程连接)。
前面一路通畅,没有问题。
最后打算测试的时候,各种Bug出现,一会儿Tomcat跑不起来,一会儿Mysql连接不上,一会儿redis没有反应,我的天。。
坑一:mysql 5.7安装后会有默认密码
我晕,默认密码不应该是root吗?no no no
启动CMD,进入你的mysql安装目录
输入mysqld --initialize
就会在你的mysql目录下生成data文件夹
然后进入data文件夹,找到辍名.err的文件,前面的名字可能会变化,因为我的机器名是Acer所以文件名是Acer.err。如果你的机器名是Administaror,文件名就会是Administaror.err。
用记事本打开,然后搜索loaclhost,冒号后面的就是你的初始密码
复制一下,然后回到我们的cmd,输入 mysql -u root -p,按回车,然后把刚才的密码粘贴一下,回车,OK,成功登录Mysql
顺便我们再修改一下登录密码
在cmd中接着输入下面一句话,按回车
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘你的新密码’;
ok,赶紧用Navicat测试一下
坑二 :mysql安装完以后,在计算机管理里面没有注册服务
首先还是用cmd进入到mysql的bin目录下
然后执行mysqld -install
屏幕上会显示一句
Service successfully installed.
再输入net start mysql
屏幕上会接着显示
MySQL 服务正在启动 …
MySQL 服务已经启动成功。
坑三:zheng框架的配置文件修改
再三强调,是所有service模块下的和dao模块下的配置文件都要改
不是只改一个。
dao模块下的generator.properties配置文件很容易被忽视。再强调一下,不止我这张图上的module下的dao,是每个dao和service文件下的配置文件都要改。
坑四:tomcat 启动闪一下就过了。
这是你的JAVA_HOME和JRE_HOME的问题
进入tomcat的bin文件夹
找到下面的文件,用记事本打开
在开头加上这两句话,路径一定是你的java的安装路径,然后保存运行
顺便提一句,tomcat改默认端口在这里xml文件里
坑五:redis连接不上
好不容易前面全搞定了,服务也启动了,结果一打开网页后台就报错,原来是redis请求没有反应。我用RedisDesktopManager连接测试,没有问题啊,查了半天,原来是redis-server服务没有启动,这里给大家说一下,redis安装完,用RedisDesktopManager可以连接,但不代表服务就启动了。
首先还是要用cmd进入到你的redis安装目录
然后输入
redis-server --service-install redis.windows.conf --loglevel verbose
这样系统开机就会启动你的redis服务,不用你每次都去自己启动了。
解决完这些问题以后,界面终于跑起来了。
最后再赠送一个我自己写的 一键启动 所有服务的批处理
新建一个记事本文档,然后把下面的代码考进去,修改后辍名为bat就可以了
@echo off
echo ==================begin========================
cls
rem 这里填写你每个服务的路径,最好都放一个盘下
SET NGINX_PATH=D:
SET NGINX_DIR=D:\zhengTools\nginx-1.17.1\
SET ZOOKEEPER_DIR=D:\zhengTools\zookeeper-3.4.14\bin\
SET ACTIVEMQ_DIR=D:\zhengTools\apache-activemq-5.9.0\bin\win64\
SET TOMCAT_DIR=D:\zhengTools\apache-tomcat-8.5.43\bin\
color 0e
TITLE 一键启动服务
CLS
ECHO.
ECHO. ********************************************************************
ECHO. * *一键启动
ECHO. * *zookeeper
ECHO. * *activeMQ
ECHO. * *nginx
ECHO. * *tomcat
ECHO. ********************************************************************
ECHO.
:MENU
ECHO.---------------------------- nginx 进程列表 --------------------------------
tasklist|findstr /i "nginx.exe"
if ERRORLEVEL 1 (echo nginx未启动) else (echo nginx已启动)
ECHO.----------------------------------------------------------------------------
ECHO.---------------------------- tomcat 进程列表 --------------------------------
tasklist|findstr /i "my_java.exe"
if ERRORLEVEL 1 (echo tomcat未启动) else (echo tomcat已启动)
ECHO.----------------------------------------------------------------------------
ECHO.
ECHO. [1] 启动所有
ECHO. [2] 关闭所有
ECHO. [3] 重启所有
ECHO. [4] 退 出
ECHO.
ECHO.请输入选择项目的序号:
set /p ID=
IF "%id%"=="1" GOTO start
IF "%id%"=="2" GOTO stop
IF "%id%"=="3" GOTO restart
IF "%id%"=="4" EXIT
PAUSE
:start
call :startAll
ECHO.============================================================================
ECHO.
ECHO.
GOTO MENU
:stop
call :shutdownAll
ECHO.============================================================================
ECHO.
ECHO.
GOTO MENU
:restart
call :shutdownAll
call :startAll
ECHO.============================================================================
ECHO.
ECHO.
GOTO MENU
:shutdownAll
ECHO.
ECHO.关闭Nginx......
taskkill /F /IM nginx.exe > nul
taskkill /F /IM my_java.exe > nul
taskkill /F /FI "windowtitle eq TomcatManage"
taskkill /F /FI "windowtitle eq ActiveMQ"
taskkill /F /FI "windowtitle eq NginxManager"
ECHO.OK,已关闭所有进程和CMD窗口
goto :eof
:startAll
%NGINX_PATH%
cd "%ZOOKEEPER_DIR%"
ECHO.
ECHO.启动Zookeeper.....
if not exist "%ZOOKEEPER_DIR%zkServer.cmd" echo "%ZOOKEEPER_DIR%zkServer.cmd"不存在
if exist "%ZOOKEEPER_DIR%zkServer.cmd" (
echo "start zKServer"
start "ZookeeperManage" cmd /k call zkServer.cmd
)
cd "%ACTIVEMQ_DIR%"
ECHO.
ECHO.启动activemq.....
if not exist "%ACTIVEMQ_DIR%activemq.bat" echo "%ACTIVEMQ_DIR%activemq.bat"不存在
if exist "%ACTIVEMQ_DIR%activemq.bat" (
echo "start activeMQ"
start "ActiveMqManage" cmd /k call activemq.bat
)
cd "%NGINX_DIR%"
ECHO.
ECHO.启动Nginx......
IF NOT EXIST "%NGINX_DIR%startup.bat" ECHO "%NGINX_DIR%startup.bat"不存在
IF EXIST "%NGINX_DIR%startup.bat" (
echo "start '' startup.bat"
start "NginxManage" cmd /k call startup.bat
)
cd "%TOMCAT_DIR%"
ECHO.
ECHO.启动tomcat.....
if not exist "%TOMCAT_DIR%startup.bat" echo "%TOMCAT_DIR%startup.bat"不存在
if exist "%TOMCAT_DIR%startup.bat" (
echo "start tomcat"
start "TomcatManage" cmd /k call startup.bat
)
ECHO.OK
goto :eof