使用 JeeSite 4 過程中的 ★ 常見問題 彙總★

使用 JeeSite 4 過程中的 ★ 常見問題 ★

  • 下載不到jeesite-xxx.jar依賴包:相關包已經發布到Sonatype Repository快照倉庫,在web項目的pom.xml裏已配置,有可能是你的 Maven setting.xml裏添加了mirrorrepository導致的問題,請清理或追加添加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 publishingPushlish 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=truemsg.enabled=truelang.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 服務,需要將項目部署到外網域名默認端口纔可以使用該功能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章