当前位置: 首页 > news >正文

网站有做货建立网站需要做什么

网站有做货,建立网站需要做什么,怎样上百度做广告,外贸是做什么的学什么专业“若依”这个开源项目,感觉是外包公司标配了啊,都在用。从README感觉像是某位阿里员工的工作之余的小整理。对于SprintBoot,个人感觉太重型,不过人家生态起来了,不是那么容易玩完。但是随着VMware被博通收购&#xff0…

“若依”这个开源项目,感觉是外包公司标配了啊,都在用。从README感觉像是某位阿里员工的工作之余的小整理。对于SprintBoot,个人感觉太重型,不过人家生态起来了,不是那么容易玩完。但是随着VMware被博通收购,SpringFramework的走向还是不很明朗的。

今天我们就来试试这个高星项目的搭建。不太喜欢IDE,到了Java,我们也尽量避免吧,我们就用vim应该够了,也不写多少代码,就是纯搭建环境。只是手头没有mysql,也懒得去装mariadb了;自从用了proot,连docker这种重型工具都懒得用,image太占空间,runtime不是busybox的再给一套glibc没有意义;想到了轻量级数据库sqlite,那么就它了,用它把“若依”跑起来吧。

下载代码和工具

图个省事,我们先来看“若依”的单机版
https://gitee.com/y_project/RuoYi
git clone应该都知道的,没有什么花头。看了下我的java openjdk version "17.0.8.1" 2023-08-24; mvn呢,哦,这台虚拟机我连mvn都没有装…直接 sudo apt install maven 【坑1】
坑我们之后填;这样工具就齐全了,这样的java项目一般就是 mvn clean package 就好了吧。

更换数据库

“若依”这个项目模块化其实真的不太友好,比如强绑定mysql。那就找到 application.yml,然后溜达溜达,看看配置数据库的位置。只看到需要更正 pagehelper.helperDialectsqlite;另外就是 ruoyi.profile 位置可以更新下。

旁边那个 application-druid.yml 就是用了 druid 呗,数据库设置多数在这里了。注释掉

            ## 主库数据源#master:#    url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8#    username: root#    password: password# 从库数据源#slave:#    # 从数据源开关/默认关闭#    enabled: false#    url: #    username: #    password:

然后我们把 spring.datasource.driverClassName 换成 sqlite的 org.sqlite.JDBC;然后 spring.datasource.url 可以先设置一个默认的比如 jdbc:sqlite:test.db,后面启动都是可以 -Dspring.datasource.url改的。spring.datasource.druid.validationQuery 这里后面是需要改的,改成比如 SELECT test FROM DUAL;因为 SELECT 1 FROM DUAL 不管如何,sqlite是不会出结果的。

改完driver class,我们当然要申明dependency咯。去ruoyi-admin下的pom.xml转一圈,把Mysql驱动包那个dependency注释掉换成

        <dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.16.1</version></dependency>

【坑2】

数据库driver换好了,我们还可以看到“若依”有个sql文件夹,有两个文件 quartz.sqlry_<date>.sql;这两个也是强绑定 mysql 的。需要手动更新下。其实转成 sqlite 也不难,

  • 所有 sys_date() 转成 CURRENT_TIMESTAMP
  • 所有auto_increament,如果是bigint或者int,全部变为 integer primary key autoincrement
  • 如果之后mysql有单独primary key(...)注释掉就好,
  • engine=innodb auto_increment=100 mysql专有的家伙全部注释掉
  • 然后把mysql的comment全部放到 -- 之后注释掉,注意缺的逗号补上
  • 有mysql key 的地方也注释掉,拉出去转换成 drop index if exists <name>; create <name> on <table> ( <column> );
  • 最后加一张表 DUAL 保证validation pass: create table DUAL (test integer); insert into DUAL (test) values (1);

改好了,就可以在 sqlite3.read <xxx.sql>导入sql语句了。

运行

sqlite差不多配置换好了,我们先来尝试运行一下。
【坑1】mvn clean package,然后报错了

[ERROR] Error executing Maven.
[ERROR] java.lang.IllegalStateException: Unable to load cache item
[ERROR] Caused by: Unable to load cache item
[ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper

这个是maven版本的问题,apt get默认给我装了个啥?mvn --version -> 3.6.3 -_-///
最新的 maven 3.9 就不报错了。

mvn clean package
ruoyi-admintarget文件夹就能拿到ruoyi-admin.jar了,这不就可以运行了么…
java -Dserver.port=9999 -Dspring.datasource.url=jdbc:sqlite:/path/to/test.db -jar ruoyi-admin.jar
【坑2】竟然又报看不懂的错了,

Unparseable date: "xxxx-yy-zz 00:00:00" does not match (\p{Nd}++)\Q-\E(\p{Nd}++)\Q-\E(\p{Nd}++)\Q \E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q.\E(\p{Nd}++)

看了一下,sqlite driver解析不了sqlite生成的timestamp,有点恶搞。
靠官方github解决吧 ref: https://github.com/xerial/sqlite-jdbc/issues/88

xerial commented on Jul 1, 2021
I’ll release 3.36.0.1 today.

去 https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc 看下最新版本,3.43.2.2

成功启动!

登录,发现报错了;哦,忘了“若依”用的mybatis,肯定有一堆sql嵌在xml里。

  • ./ruoyi-generator/src/main/resources/mapper/generator/
  • ./ruoyi-generator/src/main/resources/vm/sql
  • ./ruoyi-quartz/src/main/resources/mapper/quartz
  • ./ruoyi-system/src/main/resources/mapper/system
    这个就不一个一个赘述了,纯是sql重写一遍,mysql -> sqlite

做完了,发现有人已经做过的,但是不完整的repo
这里是最终总结
https://gitee.com/shuizhimeng/ruo-yi-fast-sqlite/blob/master/sql/%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95

这样“若依”就运行起来了。前后还没有敲这篇文章时间长…
那些oracle DB,postgresql更换当然就同理了…
后面我们再补充“若依”的微服务版,也就多个 nacos 和一些cloud相关组件。

http://www.yayakq.cn/news/620316/

相关文章:

  • 网站域名做固定资产怎么处理网站建设目的分析
  • 做网站前期创建文件夹网络网站建设价格
  • 邢台市建设局网站vi设计方案
  • 长沙企业网站制作服务报价优秀国外网站
  • 做京挑客的网站有哪些金乡网站建设哪家好
  • 常州网站建设青之峰wordpress angularjs
  • 网站后台数据好的网站开发培训
  • 网站建设规划公司地址淘宝自己网站怎么建设
  • 河北网站建设收益网站建设合伙人
  • 创建平台网站下载软件免费软件的定义
  • 网站运营存在的问题网站对公司的意义
  • 潍坊市城市建设官网站百度wordpress安装
  • 怎么样建设自己网站马克杯网站开发
  • 心理网站开发背景微信小程序案例源码
  • 广州市哪有做网站的大丰哪家专业做网站
  • 网站打开速度太慢wordpress oauth qq
  • v9双语版网站怎么做不同类型网站优势
  • WordPress做的网站源代码百度商城官网首页
  • 怎样将自己做的网站给别人看aspx网站 整站抓取
  • sql2005做网站可以查各种资料的app
  • 山东公路建设集团网站男女做微电影网站
  • 专业网站建设86215网站怎么做来卖东西
  • 网站备案IP与空间成交功能网站
  • php网站虚拟机价格最近最新手机中文大全4
  • 手机网站建设好吗专业网站建设开发
  • 竞价移动网站国外好玩的网站
  • 网站建设工作分解结构词典聊城网站优化技术
  • 潍坊企业模板建站十堰百度网站建设
  • 苏州新公司网站建设wordpress 浏览ppt
  • 网站seo化自己可以吗qq电脑版网页登录入口