java/matlab混合編程應用移植到其餘電腦上遇到的問題

這個是一個很好的關於配置環境的帖子,你們能夠參照http://www.cnblogs.com/allanyz/archive/2009/05/04/1449081.htmlhtml

 

問題1:jar包部署在其餘電腦上設置vm參數無效java

@echo off
start java -Xmx1028M -Xms1028M -XX:PermSize=100M -XX:MaxPermSize=100M -XX:SurvivorRatio=8 -jar Edition_1.0_fat.jar web

要把參數設置在前面纔有效,開始把jar包放前面雖然本身電腦能運行可是其餘人的電腦不能運行算法

 

問題2:# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c911010, pid=3244, tid=280
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_02-b09 mixed mode, sharing)
# Problematic frame:
# C [nativemcl.dll+0x1010]
#
# An error report file with more information is saved as hs_err_pid3244.log
#
# If you would like to submit a bug report, please visit:
HotSpot Virtual Machine Error Reporting Page編程

這個問題真的是十分的難搞定,網上google,baidu了很久都沒有解決方案,在我打了一盤dota以後,忽然來了靈感!!!!我先說說我爲何會出問題,我是用java調用matlab的代碼編swing框架的一個算法程序,在代碼進行到調用matlab函數的時候出現了這個問題,這是內存泄露的問題,在我本身的電腦上並無這個問題,可是在別人電腦上有,琢磨了很久後終於發現了端倪!下面是個人解決辦法app

右擊個人電腦-》屬性-》高級系統設置-》高級目錄下的環境變量-》系統變量中的path->>將jre的path路徑放在matlab的運行環境前!!!這裏是最關鍵的一步框架

例如%JAVA_HOME%\jre\bin;D:\matlab\my_bin\runtime\win64;這樣就不會出現問題了,至少個人是這麼解決的,而且我還沒看到過其餘的解決辦法,網上有不少人說是jdk的緣由,我的感受有些多是,可是絕大部分不是webapp

# C [nativemcl.dll+0x1010]這句話,這是調用了本地庫!!應該就是進入matlab的代碼層,是在調用環節出的問題jsp

 

還有一個問題,是沒找到類,具體錯誤信息這裏忘記了,沒給出來,我這裏給出一些思路,就是你用高級的jdk(例如1.8)編寫的程序放在了低級的jre(1.7)上運行,有些類型就找不到,因此編寫程序的時候必定要注意jdk的版本號,下面是關於jdk的一篇文章 函數

java compiler compliance level jdk區別

 

當打成jar包時會出現這個問題,我遇到過兩次,光看日誌真的是很難找到解決辦法,其實最根本的解決辦法仍是跟換path中的jdk版本,我用1.8打包不成功,matlab是2014的,可能不支持最新的1.8.換成1.7就能成功了!
 
問題4:打包時的問題Internal error: Zero length license information.
這個問題真他媽鬧心了,個人matlab雖然是破解版可是編程跑程序徹底能夠用,可是我忘記激活了、、、、
激活後這個問題就解決了。。。鬧心啊
相關文章
相關標籤/搜索