Je suis à la suite de cet exemple d'une application Hello World Wicket
https: // www.ibm.com/developerworks/web/library/wa-aj-wicket/ p>
en particulier j'ai placé Ma structure de fichier ressemble à ceci: p> Cependant, lorsque je le compile à un fichier de guerre, et charge dans la jetée, je reçois cette erreur, dans le navigateur: p> Lorsque je regarde dans le fichier de guerre, je remarque que le fichier HTML est manquant: p> helloworld.html code> dans mon répertoire source à côté de helloworld.java code>. p>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>wicketTest</groupId>
<artifactId>wicketTest</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
<version>6.10.0</version>
</dependency>
</dependencies>
</project>
3 Réponses :
Vous devez vous mettre helloworld.html code> fichier dans
src / main / webapp code> dossier. De cette façon, il sera inclus dans le fichier de guerre p>
Nul doute que cela fonctionnerait mais la réponse de David Williams est meilleure depuis qu'il suit les meilleures pratiques de guichet.
Quelles meilleures pratiques à suivre sont toujours un compromis. La réponse à la mine envisage de prendre des pratiques mavennes.
Et non seulement dans le répertoire SRC / MAIN / WEBAPAP, mais dans SRC / MAIN / WEBAPAP / COM / Exemple / Wicket.
Incorportage Le HTML à l'intérieur de votre guerre est bon pour la plupart des applications, mais l'une des choses géniales sur Wicket est que vous pouvez contrôler la mise en page et même la composition du composant (voir la méthode CreateComponent) au moment de l'exécution en vous modifiant simplement HTML. Pour ce faire, vous souhaitez stocker votre balisage en dehors de votre fichier de guerre pour éviter de vous reconstruire et de redéployer votre application à chaque fois que vous effectuez un changement de balise. Nous avons construit un grand CMS, pageBloom.com , avec guichet utilisant cette méthode.
La solution, si vous souhaitez que votre HTML dans le guichet de la meilleure pratique de la guichet (avec vos classes) consiste à ajouter ceci à la section de construction de votre POM.
bonne explication. Pourquoi avez-vous désactivé le filtrage pour SRC / Main / Ressources Code>?
Si vous utilisez Maven, voir la réponse de David Williams. Si vous utilisez la gradle, voir cette réponse.
Inclure les éléments suivants dans votre Build.Gradle code> Fichier: P>
sourceSets {
main {
resources {
srcDirs += ['src/main/java']
includes = ["**"]
// or specifically: includes = ["**/*.html"]
}
}
}
Pourquoi ne pas simplement utiliser le générateur QuickStart disponible à partir de Wicket.apache.org/start/QuickStart.htmlled une>? Vous êtes alors une pâte à l'écart d'une application de travail. Au moins, vous pouvez différer le POM.XML du début rapide avec le POM.XML que vous avez fabriqué.
Merci, cela m'a fait la solution comme vous l'avez mentionné. Publié ci-dessous.