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.