使用 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/topic/612
-
設置 yml 裏的參數後沒有生效:檢查你的yml格式是否正確,前面必須是空格,不可是Tab,檢查父級選項是否打開,yml語法格式:http://www.ruanyifeng.com/blog/2016/07/yaml.html
-
如果 erm 文件打不開,請使用 Eclipse 安裝 ERMaster 插件,菜單 Help -> Install New Software -> Work with:
http://thinkgem.gitee.io/ermasterr
-> Select All -> 取消 Contact all update site… 複選框 -> 點擊 Next 直到 Finish. 也可以手動下載安裝插件包安裝到 Eclipse:https://gitee.com/thinkgem/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
的最大個數和超時時間即可。 -
如果你一個域名下部署了多個項目,可能會導致登錄一個項目,另一個項目的會話被擠下的問題,這是因爲 Cookie 的 Session 名稱衝突原因。你只需要修改
application.yml
裏的session.sessionIdCookieName
值爲,多個項目不一樣的就可以。 -
自己新建的模塊,爲什麼打包的時候,提示找不到我新增模塊的類?是依賴問題。解決方法:先打包依賴項目,就是你自己新建的模塊
mvn install
安裝到本地 Maven 倉庫,再打包被依賴項目。建議,將你新建的模塊加入/root/pom.xml
模塊裏,打包項目的時候,直接運行/root/bin/backage.bat
一鍵打包即可。 -
主子表的子表,第一次點擊提交按鈕時,子表數據不能提交到後臺(子表屬性沒有添加 xxxList[i].xxxx 前綴);第二次點擊提交按鈕時,才能提交後臺。這是因爲在初始化 dataGrid 時會先去綁定表單 submit 事件,執行 dataGrid 的 updateListFieldName 方法,然後在進行提交。如果你將 validate 綁定表單事件放到 dataGrid 初始化前面去執行,就不會先去執行 updateListFieldName 所以造成了,第一次沒有生效。解決方法:將 validate 代碼,移動到 dataGrid 代碼後面。
-
爲什麼 “作業監控”、“消息推送”、“國際化管理” 等功能菜單,顯示 404 頁面,是因爲有些功能默認是沒有開啓的。你需要打開
application.yml
配置文件開啓對應設置,如:job.enabled=true
、msg.enabled=true
、lang.enabled=true
等。 -
Spring Boot 上傳文件報錯:
java.io.IOException: The temporary upload location [xxx] is not valid
,是因爲:服務器內未查到指定目錄。在application.yml
配置文件加入spring.servlet.multipart.location=/tmp/jeesite-tmp
配置,指定你的服務器臨時目錄即可 - 爲什麼在線預覽打不開,提示 “An error occurred” 錯誤。此功能是使用的微軟公司 Office Web Viewer 服務,需要將項目部署到外網域名默認端口纔可以使用該功能。