關於matlab程序打包成exe可執行文件或者jar包的常見問題

近期由於項目需要,需要把之前的matlab程序打包成exe可執行文件或者jar包,真的是,心,力,交,瘁,我把近兩天打包遇到的各種奇葩問題在這裏總結一下:

  1. 代碼中儘量避免出現中文,無論是註釋也好還是程序裏,因爲真的,真的,很容易出問題
  2. 打包成exe文件時,可以選擇下載matlab提供鏈接裏官方的VC,也可以選擇安裝VS6.0++(至於如何安裝,這又是另一番學問了,但是時間過得有點久,好多忘了)
  3. 打包成jar包時,如果出現目錄權限拒絕,unable to open file等問題,可能是你的存放產生jar包的文件路徑有中文(很奇葩對不對,對不對,我能檢查出來也是狗屎運)
  4. 打包成jar包時,如果出現An error occurred while shelling out to javadoc (Error code = 1). Unable to build executable;這樣的問題,(注意與第5點區分開來)多半是因爲你的jdk版本較高,如果你是jdk 1.8.0或者jdk 1.7.0或者以上版本,請選擇jdk1.6的版本安裝(安裝前記得把之前的jdk卸載點,安裝後記得修改環境變量)
    這裏插一句如何卸載jdk:控制面板—>程序卸載,然後卸載jdk有關的插件。
  5. 打包成jar包時,如果出現Error: An error occurred while shelling out to javac (error code = 1).Unable to build executable;這樣的問題(注意與第4點區分開來),那你已經成功了一半了,javac.exe文件用來編譯使用的,這個問題出現是因爲你的環境變量配置有問題。你可以在cmd命令行中輸入javac,如果出現錯誤,就說明你的環境變量配置有問題,具體jdk怎麼配置,就需要大家自行百度了
  6. 打包成jar包時,如果出現Failed to embed unzip in your applicationUpdate resource failed: 00000000CE555B5,Failed to embed installer splash screen C:\Program Files\MATLAB\R2014a\toolbox\compiler\Resources\default_splash.png. Update resource failed: 0000000037E55CB0 ,這類問題,首先恭喜你,編譯這一關已經過去了,這個問題出現是因爲你的RAM空間不夠使用,我在matlab官網找到的答案是:This error can also occur in cases where RAM size is more than 4GB, shutting down processes and freeing RAM space can resolve the issue;所以解決方法是,關掉程序,清理一下RAM空間。
  7. 打包後的exe文件或者jar包需要在安裝MCR(matlab compiler runtime)的環境中才能夠使用,這個很好獲得,你不安裝它也會提醒你的
  8. 如果以上問題你都沒有遇見,而是遇見了其他的問題,那麼我的建議是:先祈禱三秒,然後重啓一下電腦試試

以上問題以及解決方法基於經驗獲得,不一定準確,如果有錯誤地方,希望大家指正,謝謝。
另外,關於調用jar包以及exe文件的注意事項,之後再補
還有就是,如果你的exe文件中有使用數據庫的地方,比如鏈接數據庫等操作,很有可能會報錯,這是因爲你的jdbc驅動在這裏不好使,至於解決辦法,我要是知道了也不會學習怎麼打包成jar包了,如果有人知道,也煩請指導一下,謝謝啦
這個問題終於解決了:補上一個鏈接
關於matlab程序打包成的EXE文件或者jar包中訪問MySQL數據庫的問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章