Nous développons une nouvelle application suivant la structure proposée par Thomas Broyer pour les applications GWT avec ses archétypes multimodules Maven.Ressources statiques en multimodule GWT 2.4.0 - Application Spring 3.1.1
Dans le module serveur, nous avons inclus Spring 3.1.1 et Spring Security 3.1.0. Nous avons un contrôleur pour fournir les pages d'hôtes SignIn et GWT. Ce module utilise jetty maven plugin version 8.1.3.v20120416. Dans ce module, nous avons configuré le module client comme une superposition et a ajouté ses ressources aussi:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<scanIntervalSeconds>1</scanIntervalSeconds>
<webApp>
<baseResource implementation="org.eclipse.jetty.util.resource.ResourceCollection">
<resourcesAsCSV>src/main/webapp,${basedir}/../accounts-ui-client-desktop/target/accounts-ui-client-desktop-${project.version}/</resourcesAsCSV>
</baseResource>
<extraClasspath>${basedir}/../accounts-ui-shared/target/classes/</extraClasspath>
<jettyEnvXml>${basedir}/src/main/resources/jetty-web.xml</jettyEnvXml>
</webApp>
<systemProperties>
<systemProperty>
<name>java.util.logging.config.file</name>
<value>${basedir}/src/main/resources/logging.properties</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
Notre config dans web.xml mappe le DispatcherServlet à/modèle.
Nous avons des problèmes pour servir le contenu statique contenue dans le module client lors de l'exécution du module de serveur avec jetée: course, en particulier, quand est servi la page hébergée du GWT, il demande
http://localhost:8080/app/app.nocache.js
résultant dans une erreur non trouvée.
Je sais comment gérer cela pour une ressource locale (contenue dans webapp):
registry.addResourceHandler ("/ ressources/**") addResourceLocations ("/ Ressources /");.
mais app.nocache.js est une ressource contenue dans une autre superposition.
Ma question est: comment puis-je dire à Spring de ne pas gérer cette ressource contenue dans un autre overlay ?. Je l'ai essayé avec
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
dans la configuration java Spring (extension WebMvcConfigurerAdapter), mais le même problème.