首页 > 其他分享 >datart部署、二开踩坑记录

datart部署、二开踩坑记录

时间:2023-03-21 16:47:34浏览次数:45  
标签:jdbc 二开 部署 chokidar install oracle datart css

本人环境说明

  • 部署环境:Centos7
  • Docker Version 23.0.1
  • mysql 5.7
  • 开发环境:win11

Docker部署时应用数据库采用Mysql,Docker容器无法启动。

原因

在官网文档中第一个步骤为创建一个名datart.conf的空文件,然后将官网提供的配置信息进行修改然后写入到datart.conf文件中。由于官网提供的配置信息中有中文,当挂载到docker中时,会存在编码问题,然后就导致容器启动失败。

解决方案

删除datart.conf中所有的中文。


Swagger地址

http://localhost:8080/swagger-ui.html#/


git Commit时报错

Error: No files matching the pattern "'src/**/*.css'" were found.

原因

根据网络上大神的说法为配置了hysky进行格式校验,然后有些因为操作系统的缘故,需要将将单引号改成双引号,双引号需要加转义字符

解决方案

将package.json文件lint:css和lint:style的Value值改为:
"lint:css": "npx stylelint \"src/**/*.css\""
"lint:style": "npx stylelint \"src/**/*.{js,ts,jsx,tsx}\""


二开之身份认证

身份认证采用shiro框架
shiro快速学习推荐:https://blog.csdn.net/kenkao/article/details/127398715
配置类:SecurityConfiguration
自定义Realm类:DatartRealm,认证方法:doGetAuthenticationInfo
密码验证类:PasswordCredentialsMatcher,采用加密方式为BCrypt


Spring事务@Transactional注解及失效场景

在进行集成登录功能开发的时候,在UserServiceImpl类中增加了integrationLogin方法,然后判断用户如果不存在则要去注册用户,需要调用原有同类中的register方法,由于没了解过Spring的@Transactional注解,则出现了很多问题,可以通过下方链接学习避免一下问题。
参考链接:https://blog.51cto.com/u_15851118/5805391


初次Maven install报错

error:0308010C:digital envelope routines::unsupported at new Hash (node:inte

原因

Node.js版本>=17.0.X,
node v17中的OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。在node v17以前一些可以正常运行的的应用程序,但是在 V17 版本可能会抛出以下异常:
Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:67:19

解决方案

第一种:降版本到node v16
第二种:命令终端运行以下代码$env:NODE_OPTIONS="--openssl-legacy-provider"


前端Typescript调用方法时报错:不能调用可能是“未定义”的对象

原因

这个方法在interface中定义的时候,定义为可空类型即funName?:(value)==>void

解决方案

在调用该方法时,在方法名称后添加!,例如:funName!("入参");


前后分离实现方式

找到Server下的pom.xml,将237-339行(官方源码未经改动情况下的行数)注释掉


前端执行npm run start 报错

错误信息

No version of chokidar is available. Tried chokidar@2 and chokidar@3. You could try to manually install any chokidar version. chokidar@3: Error: Cannot find module 'chokidar'

解决方案

大概率是没有安装chokidar,所以在前端目录下执行命令npm install [email protected]


推荐前端开发VS Code插件

  • React/Redux/react-router Snippets
  • Simple React Snippets
  • Ant Design Snippets
  • Auto Close Tag
  • Auto Complete Tag
  • Auto Import
  • Auto Import - ES6, TS, JSX, TSX
  • Better Comments
  • Auto Rename Tag
  • Beautify css/sass/scss/less

React 快速了解渠道

https://blog.csdn.net/qq_31851435/article/details/121740400


本地调试增加对oracle数据库的支持

此操作适合调试各种数据源

  • Maven依赖查询工具:https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8/21.1.0.0
  • 找到jdbc-data-provider项目下的pom.xml文件
  • 在dependencies节点下增加以下配置
    <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>21.1.0.0</version> </dependency>
  • 重新加载所有Maven项目
  • datart-jdbc-data-provider clean
  • datart-jdbc-data-provider install
  • datart-server clean
  • datart-server install

jdbc-driver-ext.yml 添加oracle支持的示例

具体参数说明见官网

ORACLE:
  db-type: "oracle"
  name: "oracle"
  driver-class:"oracle.jdbc.driver.OracleDriver"
  literal-quote: "'"
  identifier-quote: ""
  adapter-class:
  url-prefix:
  sql-dialect:

标签:jdbc,二开,部署,chokidar,install,oracle,datart,css
From: https://www.cnblogs.com/LTQ151/p/17187475.html

相关文章

  • 使用流水线插件实现持续集成、持续部署
    流水线插件是基于Rainbond插件体系扩展实现,通过插件化的方式,可以实现对Rainbond构建体系的扩展。该插件由社区合作伙伴拓维信息参与开发并贡献,底层是基于GitLabC......
  • NFS 部署
    安装准备2台机器下面2台机器网络互通192.168.48.100服务端192.168.48.101客户端yuminstallnfs-utilschmod-R755/var/nfs_share_dirsystemctlenablerpcbi......
  • docker部署Apollo系列(.net Core 连接读取)
    Docker部署Apollo 简单介绍:统一管理不同环境、不同集群的配置Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace......
  • Jenkins核心功能快速上手Jenkins企业级持续集成持续部署CICD
     Jenkins核心功能快速上手Jenkins企业级持续集成持续部署CICD主要负责容器云平台产品架构及设计.8年工作经验,有着企业级存储,云计算解决方案相关理解.关注于微......
  • Centos7之Rsyslog服务器部署
    Centos7之Rsyslog服务器部署 一、目标centos7平台下部署Rsyslog服务器监视linux端、windows端、juniperSSG520二、平台[root@kahn~]#cat/etc/red......
  • docker入门(利用docker部署web应用)
    docker入门(利用docker部署web应用)第一章什么是docker1.1docker的发展史2010年几个年轻人成立了一个做PAAS平台的公司dotCloud.起初公司发展的不错,不但拿到过一......
  • 5-springboot集成热部署的方式
    热部署是指当我们修改代码后,服务能自动重启加载新修改的内容,这样大大提高了我们开发的效率;Springboot热部署通过添加一个插件实现;插件为:spring-boot-devtools,在Maven中......
  • spug安装部署
    spug的特点:批量执行:主机命令在线批量执行在线终端:主机支持浏览器在线终端登录文件管理:主机文件在线上传下载任务计划:灵活的在线任务计划发布部署:支持自定......
  • SpringBoot-jar和war方式打包部署项目
    携手创作,共同成长!这是我参与「掘金日新计划·8月更文挑战」的第30天,点击查看活动详情SpringBoot项目开发完成后,需要以jar或war的方式将项目打包部署到测试开发环境。......
  • Jenkins+Docker 实现一键自动化部署项目!步骤齐全,少走坑路
    一、安装docker二、安装Jenkins三、系统配置四、创建任务五、测试六、运行项目本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走......