I've seen this problem before with other apps (can't remember which). An open file is only released for overwriting when the whole app is terminated. When you click the close button on a tab window showing, say, a text file the tab closes but the app seems to hold it open, effectively locking the file against rewriting.
Is it as simple as just needing to call the 'close' method once the file is read? But there's the rub, this has to happen in the emulator rather than eclipseme. If copies of the deployed files are passed to the emulator they won't be overwritable either as noted in an earlier email. I get this problem with Sun's WTK emulator, havn't tried it with microemu. A solution would be nice but it's only a few seconds to close and re-open the emulator. Best wishes, John Craig Setera wrote: >Yes. That is the plan... In terms of cleanup with something like that, >I can look into a listener on the debug interface for the termination of >the emulator. It isn't perfect, but it is probably doable. > >My workspace is currently hacked up pretty bad, but I did make a >branch. Since it is likely going to take some time for me to get the >next "feature release" together, I may need to do a small new bug fix >release. I will take a look at that possibility. > >Craig > >Omry Yadan wrote: > > >>Good to know. >>a possibly simple fix would be to copy the jar/jad to a temp jar/jad and >>let the emulator use those. >>question asked: when will the temp files be cleaned up? you will >>probably need to do it when the emulator is closed. >> >>Craig Setera wrote: >> >> >> >>>This is a known issue at this point. It is definitely on my radar to >>>get this fixed. >>> >>>Heiko Selber wrote: >>> >>> >>> >>> >>>>Omry Yadan wrote: >>>> >>>> >>>> >>>> >>>> >>>> >>>>>I believe I found the cause of the exception: >>>>> >>>>>when the emulator is open, and I make any change in the code, eclipseme >>>>>tries to reconstruct the jar+jad, which are used by the emulator >>>>>(Windows) and it fails with this error. >>>>> >>>>>this is a serious usability problem for newer versions of eclipseme. >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>>>>>org.eclipse.core.runtime.CoreException: Illegal Manifest Entry Key or >>>>>>>Value "E:\dev\workspace\project\.eclipseme.tmp\emulation\Midlet.jar (The >>>>>>>system cannot find the path specified)" >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>I have the same problem here (Eclipse 3.3, EclipseME 1.7.6). In fact the >>>>exception is slightly different: >>>> >>>>Illegal Manifest Entry Key or Value >>>>"de.schlichtherle.io.ArchiveFileSystem$ArchiveReadOnlyException: Archive >>>>file is read-only!" >>>> >>>>In addition (and maybe related), I get a similar exception every *other* >>>>time I invoke J2ME -> Create Package. I.e. it fails after a fresh build, >>>>the second time works, the third time fails again, the fourth time works >>>>etc. >>>> >>>>Here is the error log: >>>> >>>>!ENTRY eclipseme.core 4 0 2007-10-31 11:08:34.776 >>>>!MESSAGE createPackageForProject >>>>!STACK 1 >>>>org.eclipse.core.internal.resources.ResourceException: Problems encountered >>>>while deleting resources. >>>> at >>>> org.eclipse.core.internal.resources.Resource.delete(Resource.java:713) >>>> at >>>> org.eclipse.core.internal.resources.Resource.delete(Resource.java:672) >>>> at >>>> eclipseme.core.internal.preverification.builder.PreverificationBuilder.deleteRuntimeJar(PreverificationBuilder.java:215) >>>> at >>>> eclipseme.core.internal.preverification.builder.PreverificationBuilder.cleanProject(PreverificationBuilder.java:132) >>>> at >>>> eclipseme.core.model.impl.MidletSuiteProject.createPackage(MidletSuiteProject.java:230) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction.createPackageForProject(AbstractCreatePackageAction.java:96) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction.access$0(AbstractCreatePackageAction.java:89) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction$1.run(AbstractCreatePackageAction.java:132) >>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) >>>> at org.eclipse.core.runtime.Platform.run(Platform.java:857) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction.doPackageCreation(AbstractCreatePackageAction.java:130) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction.run(AbstractCreatePackageAction.java:67) >>>> at >>>> org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:256) >>>> at >>>> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:546) >>>> at >>>> org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490) >>>> at >>>> org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402) >>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) >>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) >>>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682) >>>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293) >>>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) >>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) >>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) >>>> at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) >>>> at >>>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) >>>> at >>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) >>>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) >>>> at >>>> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) >>>> at >>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) >>>> at >>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) >>>> at >>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) >>>> at >>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) >>>> at >>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>>> at java.lang.reflect.Method.invoke(Unknown Source) >>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) >>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) >>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1173) >>>>!SUBENTRY 1 org.eclipse.core.resources 4 273 2007-10-31 11:08:34.776 >>>>!MESSAGE Problems encountered while deleting resources. >>>>!SUBENTRY 2 org.eclipse.core.resources 4 273 2007-10-31 11:08:34.776 >>>>!MESSAGE Could not delete >>>>'D:\Java\eclipse\MIDlet-workspace\MyMidlet\.eclipseme.tmp\emulation\MyMidlet.jar'. >>>>!STACK 1 >>>>org.eclipse.core.runtime.CoreException: Problems encountered while deleting >>>>files. >>>> at >>>> org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:107) >>>> at >>>> org.eclipse.core.internal.resources.ResourceTree.internalDeleteFile(ResourceTree.java:303) >>>> at >>>> org.eclipse.core.internal.resources.ResourceTree.standardDeleteFile(ResourceTree.java:769) >>>> at >>>> org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1655) >>>> at >>>> org.eclipse.core.internal.resources.Resource.delete(Resource.java:700) >>>> at >>>> org.eclipse.core.internal.resources.Resource.delete(Resource.java:672) >>>> at >>>> eclipseme.core.internal.preverification.builder.PreverificationBuilder.deleteRuntimeJar(PreverificationBuilder.java:215) >>>> at >>>> eclipseme.core.internal.preverification.builder.PreverificationBuilder.cleanProject(PreverificationBuilder.java:132) >>>> at >>>> eclipseme.core.model.impl.MidletSuiteProject.createPackage(MidletSuiteProject.java:230) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction.createPackageForProject(AbstractCreatePackageAction.java:96) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction.access$0(AbstractCreatePackageAction.java:89) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction$1.run(AbstractCreatePackageAction.java:132) >>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) >>>> at org.eclipse.core.runtime.Platform.run(Platform.java:857) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction.doPackageCreation(AbstractCreatePackageAction.java:130) >>>> at >>>> eclipseme.ui.internal.actions.AbstractCreatePackageAction.run(AbstractCreatePackageAction.java:67) >>>> at >>>> org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:256) >>>> at >>>> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:546) >>>> at >>>> org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490) >>>> at >>>> org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402) >>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) >>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) >>>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682) >>>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293) >>>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) >>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) >>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) >>>> at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) >>>> at >>>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) >>>> at >>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) >>>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) >>>> at >>>> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) >>>> at >>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) >>>> at >>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) >>>> at >>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) >>>> at >>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) >>>> at >>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>>> at java.lang.reflect.Method.invoke(Unknown Source) >>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) >>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) >>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1173) >>>>!SUBENTRY 3 org.eclipse.core.filesystem 4 273 2007-10-31 11:08:34.776 >>>>!MESSAGE Problems encountered while deleting files. >>>>!SUBENTRY 4 org.eclipse.core.filesystem 4 273 2007-10-31 11:08:34.776 >>>>!MESSAGE Could not delete: >>>>D:\Java\eclipse\MIDlet-workspace\MyMidlet\.eclipseme.tmp\emulation\MyMidlet.jar. >>>> >>>> >>>> >>>> >>>> >>>> >>>------------------------------------------------------------------------- >>>This SF.net email is sponsored by: Splunk Inc. >>>Still grepping through log files to find problems? Stop. >>>Now Search log events and configuration files using AJAX and a browser. >>>Download your FREE copy of Splunk now >> http://get.splunk.com/ >>>_______________________________________________ >>>Eclipseme-users mailing list >>>[email protected] >>>https://lists.sourceforge.net/lists/listinfo/eclipseme-users >>> >>> >>> >>> >>------------------------------------------------------------------------- >>This SF.net email is sponsored by: Splunk Inc. >>Still grepping through log files to find problems? Stop. >>Now Search log events and configuration files using AJAX and a browser. >>Download your FREE copy of Splunk now >> http://get.splunk.com/ >>_______________________________________________ >>Eclipseme-users mailing list >>[email protected] >>https://lists.sourceforge.net/lists/listinfo/eclipseme-users >> >> >> > >------------------------------------------------------------------------- >This SF.net email is sponsored by: Splunk Inc. >Still grepping through log files to find problems? Stop. >Now Search log events and configuration files using AJAX and a browser. >Download your FREE copy of Splunk now >> http://get.splunk.com/ >_______________________________________________ >Eclipseme-users mailing list >[email protected] >https://lists.sourceforge.net/lists/listinfo/eclipseme-users > > > > ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Eclipseme-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/eclipseme-users
