While I agree with you that the user solution is mostly good... If you actually wanted to compare two different versions of the same code side-by-side, you would not currently be able to do that. There are certainly workarounds for that as well, but I think the longer term solution is to launch from a copy of the information so the base files are not locked.
John Pote wrote: > 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 > ------------------------------------------------------------------------- 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
