首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

EclipseMe 中預設模擬器被意外替換為臨時實例的解決方案

     編輯:J2ME

在 Eclipse + EclipseMe 開發 J2ME 專案時,若專案使用 JSR-75 FileConnection 讀取模擬器檔案系統資源(預設路徑 WTK22\appdb\DefaultColorPhone\filesystem\),偶爾會發現啟動的模擬器名稱變為 Running with storage root temp.DefaultColorPhone1233646598,導致找不到資源檔案。

原因分析

WTK 的 DefaultColorPhone 裝置實例在同一時間只能被一個程序佔用。當 EclipseMe 嘗試啟動時,若偵測到預設實例已被鎖定(例如殘留的模擬器進程未結束、或 WTK 自身正在使用),會自動建立一個臨時副本 temp.DefaultColorPhone<timestamp>,此副本擁有獨立的 appdb 目錄,自然讀不到原本放在預設實例 filesystem 下的資源。

快速解決步驟

  1. 啟動 WTK 獨立模擬器(開始選單 → Sun Java Wireless Toolkit → Run MIDP Application)。
  2. 隨便開啟一個內建範例(如 PDADemo),跑一下再關閉。
  3. 回到 EclipseMe 重新 Run/Debug,此時會正確綁定回原本的 DefaultColorPhone 實例。

原理:手動啟動 WTK 模擬器會釋放先前可能殘留的鎖定狀態,並重置裝置管理器的可用性標記,讓 EclipseMe 再次偵測到預設實例可用。

預防建議

  • 開發結束後,務必在 WTK 模擬器視窗點選「Exit」正常關閉,避免直接關閉 Eclipse 導致模擬器進程殘留。
  • 若頻發,可寫一個 .bat 腳本在 Eclipse 啟動前先 emulator -Xdevice:DefaultColorPhone -Xdescriptor:.../PDADemo.jad 預熱一次。
  • 長期專案建議遷移到 NetBeans + WTK 或 Java ME SDK 3.0,裝置管理機制較穩定。

這個小技巧能省去大量「找不到檔案」的除錯時間,記住「先跑一下 WTK 範例」即可。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved