2016-11-16 127 views
1

我在Netbeans中創建了一個在我的計算機上運行時沒有問題的Java項目(都在Netbeans和運行jar文件),但當我嘗試運行另一臺計算機,我得到了以下錯誤消息的項目:當在另一臺計算機上運行java項目時,「Java運行時環境檢測到致命錯誤」

已經由Java運行時環境檢測到致命錯誤:

EXCEPTION_ACCESS_VIOLATION(0000005)在PC = 0x0000000062478337,PID = 2860,tid = 0x0000000000000e84

JRE版本:Java™SE運行時環境(8.0_112-b15)(內部版本1.8.0_112-b15) Java VM:Java HotSpot™64位服務器VM(25.112-b15混合模式windows-amd64壓縮的oops ) 有問題的幀: V [jvm.dll + 0x68337]

未能寫入核心轉儲。小型轉儲默認情況下未在Windows

的客戶端版本啓用如果您想提交錯誤報告,請訪問: http://bugreport.java.com/bugreport/crash.jsp

我搜索過類似的問題,但我似乎無法到找到任何與我的錯誤相符的東西,所以我不知道該怎麼做。如果需要,我可以發佈完整的錯誤日誌。如果沒有人能想出來,至少有人能指出我的方向是否正確(是內存問題,是否需要更新Java等)?

+0

在出現該錯誤的計算機上運行[memtest86](http://www.memtest86.com/)。另外,你爲什麼用windows-nt標記這個問題? –

+0

你在使用JNI方法嗎?你在用圖書館嗎? – 11684

+0

ElliottFrisch我標記了Windows NT,因爲這就是錯誤日誌所說的操作系統。 11684我不確定。我將如何檢查? – BamSquid

回答

2

根據hs_err_pid.log該崩潰發生在本機方法com.microsoft.sqlserver.jdbc.AuthenticationJNI.SNISecGenClientContext內部,該方法顯然屬於MSSQL JDBC驅動程序。

崩潰轉儲中最有趣的部分是線
C:\Program Files\Java\jre1.8.0_112\bin\sqljdbc_auth.dll

顯然,sqljdbc_auth.dll不屬於JRE。看起來這個文件被手動複製到JRE目錄。這是錯誤的,而且很可能是崩潰的原因。您必須正確安裝MSSQL JDBC驅動程序,並將JVM參數設置爲-Djava.library.path以指向包含驅動程序本機庫的目錄。

+0

這工作!我在那裏的dll文件的原因是因爲我有一個不同的錯誤,這是我在其他地方找到的解決方案,但我不認爲這會是問題。 – BamSquid

+0

@apangin你能檢查這裏有什麼問題嗎? https://pastebin.com/Pt3sWa92 – StarDust

0

我今天在Intellij有同樣的問題。我通過指向新的JRE版本來解決它。