2010-04-22 9 views
0

J'ai déployé un fichier .war de l'application Wicket à Jetty 7.0.2. Le problème est que Jetty copie le classpath dans un répertoire temporaire, mais copie uniquement * .class, donc * .html n'est pas disponible pour le classloader et j'obtiens l'erreur:Wicket WAR dans Jetty: les fichiers .html ne sont pas sur classpath

WicketMessage: balisage de type 'html' pour le composant 'cz.dynawest.wicket.chat.ChatPage' introuvable.

Copie de la guerre en tant que répertoire étendu a aidé. Pourtant, je me demande comment configurer Jetty pour tout copier. Et, avec mvn jetty:run je reçois la même erreur.

Merci, Ondra

Répondre

-1

Puisque vous utilisez Maven, êtes-vous que vos fichiers html/css sont dans le même package que le fichier java, mais dans les ressources src/main/ dir et pas dans src/main/java?

+0

Ils peuvent être dans src/main/java si vous configurez maven pour copier ces fichiers en tant que ressources – Eelco

8

Vérifiez votre pom.xml, que votre dossier de ressources est également src/main/java. Voici le fragment de mon pom.xml de travail

<build> 
    <resources> 
    <resource> 
     <filtering>false</filtering> 
     <directory>src/main/resources</directory> 
    </resource> 
    <resource> 
     <filtering>false</filtering> 
     <directory>src/main/java</directory> 
     <includes> 
      <include>**</include> 
     </includes> 
     <excludes> 
      <exclude>**/*.java</exclude> 
     </excludes> 
    </resource> 
    </resources> 

également, y peut essayer de lancer la jetée: la gestion a explosé. Je ne me souviens pas de la raison, mais ça marche mieux pour moi.

+0

Les fichiers html sont dans le fichier WAR. Ils sont simplement ignorés par les conteneurs lors du déploiement. Mais il doit y avoir une mauvaise configuration, car Quickstart fonctionne. Je vais mettre à jour quand j'y arriverai. –

+0

Éclaté ou pas ne devrait pas importer. En effet, vous devez demander à Maven de copier ces ressources. N'a rien à voir avec le conteneur de servlet. – Eelco