使用 JeeSite 4 过程中的 ★ 常见问题 ★
下载不到
jeesite-xxx.jar
依赖包:相关包已经发布到Sonatype Repository
快照仓库,在web
项目的pom.xml
里已配置,有可能是你的 Mavensetting.xml
里添加了mirror
或repository
导致的问题,请清理或追加添加Sonatype Repository
仓库地址,再尝试执行 /web/bin/package.bat
脚本,预先下载依赖jar包即可。IntelliJ IDEA中提示
NoClassDefFoundError: javax/servlet/ServletOutputStream
错误,你只需要修改web项目下的pom.xml,注释掉spring-boot-starter-tomcat
的<scope>provided</scope>
部分改为<scope>compile</scope>
即可。出现
NoSuchMethodError
错误,一般是依赖包版本需要更新,请尝试如下操作:在web项目上右键,选择菜单 -> Maven -> Update Project…(或按Alt+F5) -> 点击 Select All 按钮 -> 选择 Force Update of Snapshots/Releases 复选框 -> 点击OK按钮即可。MySql执行
init-data.bat
初始化数据失败,你可尝试设置下 my.ini 给 [mysqld] 增加如下配置:
sql_mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
- 如果遇到
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
错误,请在 my.ini 中加入如下配置:
innodb_large_prefix = ON
innodb_file_format = Barracuda
innodb_file_per_table = ON
并修改报错的建表语句后面加上:row_format=DYNAMIC;
MySql下报
You can't specify target table 'xxx' for update in FROM clause
错误,这是在Mysql的一个BUG,影响版本 MySql 5.7.6 到 5.7.10 【参考】,并避开此版本,升级MySql数据库,即可解决。若在初始化每一行语句的都报事务相关的错。MySql下报
The command cannot be executed when global transaction is in the ACTIVE state
,Oracle下报SQLSyntaxErrorException: ORA-02089: COMMIT 不允许在附属会话中
错误。请检查设置jdbc.jta.enabled=false
是否关闭后再进行尝试导入。启动报
UnsatisfiedLinkError
错误,如果你是在 Eclipse 手动部署到 Tomcat 服务,请打开 Servers 选项卡,双击你新增的 Tomcat 服务,进入设置,找到Server Options
给以下选项Serve models without publishing
和Pushlish module contexts to separate XML files
打钩即可修改文件都需要重启比较麻烦,其实不是这样的,使用 Debug 运行系统,除非改变类结构(新增java类,新增属性或方法)才需要重启;其它情况(修改java类内的方法,修改视图文件,修改静态文件)下都不需要重启的;
IntelliJ IDEA 中修资源文件必须重启才生效,解决办法:http://bbs.ibeetl.com/bbs/bbs/topic/612-1.html
设置 yml 里的参数后没有生效:检查你的yml格式是否正确,前面必须是空格,不可是Tab,检查父级选项是否打开,yml语法格式:http://www.ruanyifeng.com/blog/2016/07/yaml.html
如果erm文件打不开,请下载这个最新版插件:https://github.com/think-gem/ermasterr
${ctx}和${ctxStatic}是在哪里定义的,怎么添加新变量?https://gitee.com/thinkgem/jeesite4/issues/IICBF
登录后菜单不见了,菜单状态自动变为 2 停用状态?请检查下菜单归属的模块对应的状态是什么,归属模块指定的class必须是一个存在的class,如果不存在,模块状态会为“未安装”。所以菜单对应模块状态必须为“启用”才可以,否则启动系统时会自动设置菜单的状态停用。如果不需要此特性,你也可以关闭它:menu.updateStatusByModuleStatus=false
菜单权重是什么,添加的默认权重菜单,超级管理员怎么看不到:【内置功能】 搜索:
菜单权重
新建用户后的密码是多少?系统默认密码是
123456
。为了方便HR进行管理用户,不需要手动去设置一个密码,系统会自动默认,你也可以从参数设置
菜单中找到sys.user.initPassword
修改初始密码。为什么默认会加一个 status != 1,如果你的表中有status这个字段的时候就会默认加上,是因为大多数业务系统都需要排除逻辑删除的数据,节省手动调用的麻烦,如果不需要,调用
entity.setStatus("")
并且getSqlMap().getWhere().disableAutoAddStatusWhere()
即可。如果你开启了多租户,就会默认增加 corp_code 这个条件,有些情况需要管理员看全部数据,这时候,你可以调用
getSqlMap().getWhere().disableAutoAddCorpCodeWhere()
方法就不会默认添加这个字段了。文件上传按钮点击没反应,这个可能是因为你的窗口位移或上传控件显示隐藏造成的,在位移或显示后,调用
window.webuploaderRefresh();
即可刷新按钮控件位置。为何设置
session.sessionTimeout
会话超时时间大于30分钟将无效?因为会话是存到J2Cache缓存里的,J2Cache默认有个缓存超期时间,该会话的超期时间默认也是30分钟,所以你需要打开j2cache.properties
属性文件,同步设置caffeine.region.sessionCache
的最大个数和超时时间即可。自己新建的模块,为什么打包的时候,提示找不到我新增模块的类?是依赖问题。解决方法:先打包依赖项目,就是你自己新建的模块
mvn install
安装到本地 Maven 仓库,再打包被依赖项目。建议,将你新建的模块加入/root/pom.xml
模块里,打包项目的时候,直接运行/root/bin/backage.bat
一键打包即可。