Eclipse WTP vs sydeo, " serves modules without publishing "
I have the problem to find the performances of the plugin sysdeo by using the integrated plugin WTP of eclipse.
To make the migration and thus the comparison, I installed both on separate projects within eclipse.
I noticed a difference of productivity, according to what I understood: WTP needs to publish sources in a directory build so that tomcat have them at arrangement. This "pulish" is long : need the recharging of the context so that the modifications are visible. (5 dry in most yard 15sec - 20sec in the longest).
Sysdeo no; it targets of the directory eclipse consequently build internal in the project as soon as a modification is made by a file, eclipse build and these modifications are available immediately (F5 on the browser and we have the result immediately).
Here is my configuration of server:
The option " Serves modules without publishing " allows to make exactly what makes sydeo: to choose the build directory of the project running. This configuration expresses himself in the file of context. (It is to be able to get back it that I have checked " Publish modulates contexts to serparate XML rows ")
Comparison of these files:
- Here is the file of context to generate by sysdeo
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
- The file context to generate by WTP
< ?xml version="1.0" encoding="UTF-8"?> < Context docBase="D:\32bit\serveur32bit\workspace\tatoile\web" path="/tatoile" reloadable="true" source="org.eclipse.jst.jee.server:tatoile"> < Resources className="org.eclipse.jst.server.tomcat.loader.WtpDirContext" extraResourcePaths="/WEB-INF/classes|D:\32bit\serveur32bit\workspace\tatoile\build\classes" virtualClasspath="D:\32bit\serveur32bit\workspace\tatoile\build\classes"/> < Loader className="org.eclipse.jst.server.tomcat.loader.WtpWebappLoader" useSystemClassLoaderAsParent="false" virtualClasspath="D:\32bit\serveur32bit\workspace\tatoile\build\classes"/> < JarScanner scanAllDirectories="true"/> < /Context>
Later analyze those two files is alike.
Now let us return to the problem. I use the same server, consequently both files of context above are defined for this one. Experience: I launch the tomcat by the plugin sysdeo, the loads in two context is made the one to configure way WTP the other one by sysdeo. Both authorities reacts in the same way, the modifications are immediate in tatoile _syseo and tatoile.
On the other hand, I launch tomcat via the plugin WTP (tab server etc.) in eclipse, the modifications are not immediately made in both projects tatoile _syseo and tatoile. Note: Auto-reload has to be necessarily put in Enabled so that the modifications be taken into account. (When the server indicates us that it has reload the context we can see the modifications.)
I deduct that from it the configuration of contexts not is not the reason, but rather the way the plugin launches tomcat; and there or I dry …
Here is WTP project:
Solution 1:
The answer quoted from @Vsplit
The problem was solved by adding MAVEN with WTP deployment. No performance problems ... and I don't activate serve modules without publishing
Solution 2:
look in the plugin marketplace for a free plugin called m2e-wtp. That will take care of the provided scope issues. As for classes not being deployed, the usual places I look at are the deployment assembly and/or Java Build Path. Make sure that the entries (and the dependent modules) are all there and located in the right place.