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

Reply via email to