See 
https://www.eclipse.org/jetty/documentation/9.4.x/troubleshooting-locked-files-on-windows.html
In DevMode, we're setting the (undocumented afaict) webappcontext's 
init-param 
(https://github.com/gwtproject/gwt/blob/2.8.2/dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java#L539-L541)
 
which I believe you can do with the jetty-maven-plugin using a custom 
contextXml (see 
https://www.eclipse.org/jetty/documentation/9.4.x/jetty-maven-plugin.html#configuring-your-webapp)
 
with content:
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Call name="setInitParameter">
    <Arg>org.eclipse.jetty.servlet.Default.useFileMappedBuffer</Arg>
    <Arg>false</Arg>
  </Call>
</Configure>

or
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Get name="servletContext">
    <Call name="setInitParameter">
      <Arg>org.eclipse.jetty.servlet.Default.useFileMappedBuffer</Arg>
      <Arg>false</Arg>
    </Call>
  </Get>
</Configure>

(see 
https://www.eclipse.org/jetty/documentation/9.4.x/configuring-specific-webapp-deployment.html#configuring-advanced-descriptor-files)

On Tuesday, November 7, 2017 at 10:01:54 AM UTC+1, DavidN wrote:
>
> I have my project configured to launch SDM and Jetty from Maven.
> Whenever I make changes to the UI code and reload the browser window I get 
> an error from SDM:
>
>
> [INFO] GET /recompile/multitenantapp
>
> [INFO]    Job com.swift.cloud.platform.ui.multitenant.MultitenantApp_1_2
>
> [INFO]       starting job: 
> com.swift.cloud.platform.ui.multitenant.MultitenantApp_1_2
>
> [INFO]       Compiling module 
> com.swift.cloud.platform.ui.multitenant.MultitenantApp
>
> [INFO]          Unification traversed 5002 fields and methods and 1608 
> types. 30 are considered part of the current module and 376 had all of 
> their fields and methods traversed.
>
> [INFO]          Compiling 1 permutation
>
> [INFO]             Compiling permutation 0...
>
> [INFO]             Linking per-type JS with 30 new/changed types.
>
> [INFO]             Source Maps Enabled
>
> [INFO]          Compile of permutations succeeded
>
> [INFO]          Compilation succeeded -- 4.255s
>
> [INFO]       Linking into 
> C:\Development\git-repos\liteevolutiontfr\platform\main\ui\target\gwt\codeserver\com.swift.cloud.platform.ui.multitenant.MultitenantApp\compile-4\war\multitenantapp;
>  
> Writing extras to 
> C:\Development\git-repos\liteevolutiontfr\platform\main\ui\target\gwt\codeserver\com.swift.cloud.platform.ui.multitenant.MultitenantApp\compile-4\extras\multitenantapp
>
> [INFO]          Link succeeded
>
> [INFO]          Linking succeeded -- 0.421s
>
> [INFO]       [ERROR] Can't update launcher dir
>
> [INFO] java.io.FileNotFoundException: 
> C:\Development\git-repos\liteevolutiontfr\platform\main\ui\target\gwt\launcherDir\multitenantapp\multitenantapp.nocache.js
>  
> (The requested operation cannot be performed on a file with a user-mapped 
> section open)
>
> [INFO]  at java.io.FileOutputStream.open0(Native Method)
>
> [INFO]  at java.io.FileOutputStream.open(FileOutputStream.java:270)
>
> [INFO]  at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
>
> [INFO]  at 
> com.google.gwt.thirdparty.guava.common.io.Files$FileByteSink.openStream(Files.java:210)
>
> [INFO]  at 
> com.google.gwt.thirdparty.guava.common.io.Files$FileByteSink.openStream(Files.java:198)
>
> [INFO]  at 
> com.google.gwt.thirdparty.guava.common.io.ByteSink$AsCharSink.openStream(ByteSink.java:148)
>
> [INFO]  at 
> com.google.gwt.thirdparty.guava.common.io.CharSink.write(CharSink.java:95)
>
> [INFO]  at 
> com.google.gwt.thirdparty.guava.common.io.Files.write(Files.java:330)
>
> [INFO]  at 
> com.google.gwt.dev.codeserver.LauncherDir.update(LauncherDir.java:74)
>
> [INFO]  at 
> com.google.gwt.dev.codeserver.Recompiler.doCompile(Recompiler.java:374)
>
> [INFO]  at 
> com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:175)
>
> [INFO]  at 
> com.google.gwt.dev.codeserver.Recompiler.recompile(Recompiler.java:134)
>
> [INFO]  at com.google.gwt.dev.codeserver.Outbox.recompile(Outbox.java:135)
>
> [INFO]  at 
> com.google.gwt.dev.codeserver.JobRunner.recompile(JobRunner.java:113)
>
> [INFO]  at 
> com.google.gwt.dev.codeserver.JobRunner.access$000(JobRunner.java:37)
>
> [INFO]  at com.google.gwt.dev.codeserver.JobRunner$2.run(JobRunner.java:90)
>
> [INFO]  at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>
> [INFO]  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>
> [INFO]  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>
> [INFO]  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>
> [INFO]  at java.lang.Thread.run(Thread.java:745)
>
> [INFO]       [WARN] recompile failed
>
> [INFO]       [WARN] continuing to serve previous version
>
>
> When I reload a second time in my browser Super Dev does not need to 
> recompile anything and then suddenly it works. So it looks like it is not 
> really an error ...
>
>
> Any idea how I can get rid of this problem ? I can't switch to Tomcat 
> because after all these years the tomcat maven plugin is still limited to 
> Tomcat 7 and I need 8 at least since I am using async servlets/jaxrs 
> services.
>
>
> Also note that I get the same error (but this time SDM refuses to start) 
> when I start Jetty before SDM.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to