若依框架-初始化模板
环境部署
- 准备工作
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Maven >= 3.0
-
运行项目
- 前往Gitee下载页面(https://gitee.com/y_project/RuoYi (opens new window))下载解压到工作目录
- 导入到Eclipse,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮,选择工作目录,然后点击 Finish 按钮,即可成功导入。
Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定) - 创建数据库ry并导入数据脚本ry_2021xxxx.sql,quartz.sql
- 打开项目运行com.ruoyi.RuoYiApplication.java,出现如下图表示启动成功。
- 打开浏览器,输入:(http://localhost:80 (opens new window)) (默认账户/密码 admin/admin123)
若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功
建议使用Git克隆,因为克隆的方式可以和RuoYi随时保持更新同步。使用Git命令克隆
-
运行成功
注意:
我们可能导入quartz.sql会报错?
1071 - Specified key was too long; max key length is 767 bytes 1709 - Index column size too large. The maximum column size is 767 bytes.?
解决方法
https://gitee.com/y_project/RuoYi-Vue/issues/I1O1M8
改造框架
区分接口
更换项目包路径
使用 module 重命名
├── xxxxx
│ └── xxxxx-admin
│ └── xxxxx-common
│ └── xxxxx-framework
│ └── xxxxx-generator
│ └── xxxxx-quartz
│ └── xxxxx-system
│ └── pom.xml
- 更换顶级目录的pom.xml
<modules>
<module>xxxx-admin</module>
<module>xxxx-framework</module>
<module>xxxx-system</module>
<module>xxxx-quartz</module>
<module>xxxx-generator</module>
<module>xxxx-common</module>
</modules>
更换项目所有包名称 com.ruoyi.xxx 换成com.yyy.xxx
更换application.yml指定要扫描的Mapper类的包的路径typeAliasesPackage包路径名称替换com.xxxxx
# MyBatis
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.你的包名.**.domain
更换mapper文件的namespace包路径
更换pom文件内容
以下pom.xml文件中包含ruoyi的关键字替换成xxxxx
├── xxxxx
│ └── xxxxx-admin pom.xml
│ └── xxxxx-common pom.xml
│ └── xxxxx-framework pom.xml
│ └── xxxxx-generator pom.xml
│ └── xxxxx-quartz pom.xml
│ └── xxxxx-system pom.xml
│ └── pom.xml
以上操作完正常情况下 项目包路径都已经更改完毕 重启项目就OK
进一步改造模板
- 控制台日志 变颜色
修改logback.xml文件<!-- 日志输出格式 --> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> <property name="log.color.pattern" value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{10}) - %cyan(%msg%n)"></property> <!-- 控制台输出 --> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${log.color.pattern}</pattern> </encoder> </appender>
- 咋样配置项目切换环境
- 在 xxx-admin 的 pom.xml文件 配置 profiles
<profiles>
<profile>
<!-- 生产环境 -->
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<!-- 本地开发环境 -->
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<profileActive>test</profileActive>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
</profiles>
- 在 在 xxx-admin 的 application.yml 配置 profiles(动态切换)
spring:
profiles:
active: @profileActive@
如果报错 在 xxx-admin 的 pom.xml文件
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<!--开启过滤,用指定的参数替换directory下的文件中的参数-->
<filtering>true</filtering>
</resource>
</resources>
</build>
[参考文献](https://blog.csdn.net/mengjie0617/article/details/110122080
https://www.icode9.com/content-4-510466.html)
- 配置日志
部署流程
部署方式:
- SpringBoot Jar包部署方式
- 依赖jar包和静态资源文件分离
流程:
-
cd 进入项目根目录,属于以下mvn命令进行打包。
打包测试环境
mvn clean package -Ptest -Dmaven.test.skip=true
打包生产环境
mvn clean package -Pdis -Dmaven.test.skip=true
打包过后进入xxxx-admin文件夹内target目录,可以看到目录内有 lib,resource两个文件夹 以及xxxx-admin.jar。
- lib目录中均为依赖所需的jar包,第一次上传需要将整体上传到服务器项目所在地lib目录中,后期迭代之后只需要将增加的依赖包拷贝进入就行,需要更新项目xxxx-common,xxxx-system,xxxx-framework,xxxx-quartz等目录时,只需要将相关文件夹中target目录的jar包拷贝进去替换即可。
- resources目录中均为xxxx-admin中的静态资源文件,将此文件夹拷贝到服务器项目部署相同目录中即可,迭代升级替换相关文件即可。
-
上传到服务器之后,在xxxx-admin.jar同类文件中,按照以下命令进行
nohup java -jar -Dloader.path=.,resources,lib xxxx-admin.jar >temp.txt &
查看运行情况:
ps -ef|grep 'java -jar'
``` 暂时不用这种服务类型的
service xxxx-admin stop
```
```
rm -rf /etc/init.d/xxxx-admin
```
```
ln -s /usr/local/api/project/xxxx-admin.jar /etc/init.d/xxxx-admin
```
```
chmod +x /usr/local/api/project/xxxx-admin.jar
```
```
service xxxx-admin start
```
参考
若依手册