Search code examples
javagwtjetty

Intellij/GWT Starting a gwt application without permutations


I want to start my gwt application on dev mode using an external jetty and the gwt compilation server (using -noserver).

Starting the webserver (jetty + gwt war) with 3 permutations (user.agent=safari) takes 250s with options :

  • -Dgwt.compiler.skip=true
  • -Dgwt.draftCompile=true
  • -Dgwt.compiler.localWorkers=8
  • -Dgwt.compiler.optimizationLevel=0

and in the file MyProject.gwt.xml

<set-property name="user.agent" value="safari" />

Then I start the dev mode, and the gwt compilation server does 2 more permutations when I want to refresh the client.

Is it possible to avoid permutations while launching the jetty ?

I know that -Dgwt.compiler.skip=true avoid permutations but it doesn't generate the minimum js needed by the gwt compilation server, MyProject directory containing files like MyProject.nocache.js or MyProject.devmode.js is missing so I can't ask the compilation server to do his job while on my browser.

If I use the option -Dgwt.compiler.skip=true, my webserver starts in 30s but I am stuck.

I don't know why gwt needs to do permutations while launching the webserver, isn't that the gwt compilation server's job on dev mode ?

edit : I think I have the same problem than this person in 2014 https://groups.google.com/g/google-web-toolkit/c/p9BGyLxiLkE

Except I am using gwt 2.9


Solution

  • I finally found a solution to my problem,

    The problem was the -war property didn't point on the good directory

    PATH_TO_MY_DEV_DIRECTORY/MY_GWT_MODULE/target/v2

    instead of

    PATH_TO_MY_DEV_DIRECTORY/MY_PROJECT/MY_GWT_MODULE/target/v2

    So now, in Intellij I have 3 Configurations :

    • The compilation server (GWT configuration) with Dev Mode Parameters as : -noserver -war "PATH_TO_MY_DEV_DIRECTORY/MY_PROJECT/MY_GWT_MODULE/target/v2"/

    • a maven which builds my war, with Run as : clean install -Dgwt.compiler.skip=true

    • a jetty configuration with before launch parameter with my maven configuration

    And it works fine now