I follow this example of a Hello World Wicket application
https://www.ibm.com/developerworks/web/library/wa-aj-wicket/
In particular, I placed HelloWorld.html in my source directory next to HelloWorld.java .
My file structure is as follows:
$ tree . βββ pom.xml βββ src β βββ main β β βββ java β β β βββ com β β β βββ example β β β βββ wicket β β β βββ HelloWorld.html β β β βββ HelloWorld.java β β β βββ HelloWorldApplication.java β β βββ resources β β βββ webapp β β βββ WEB-INF β β βββ web.xml β βββ test β βββ java βββ wicketTest.iml
However, when I compile this into a war file and load it into Jetty, I get this error in the browser:
Unexpected RuntimeException Last cause: Can not determine Markup. Component is not yet connected to a parent. [Page class = com.example.wicket.HelloWorld, id = 4, render count = 1] Stacktrace Root cause: org.apache.wicket.markup.MarkupNotFoundException: Can not determine Markup. Component is not yet connected to a parent. [Page class = com.example.wicket.HelloWorld, id = 4, render count = 1] at org.apache.wicket.Component.getMarkup(Component.java:737) at org.apache.wicket.Component.internalRender(Component.java:2344) at org.apache.wicket.Component.render(Component.java:2307) at org.apache.wicket.Page.renderPage(Page.java:1010)
When I look in the war file, I notice that the html file is missing:
$ tar tvf target/wicketTest-1.0-SNAPSHOT.war drwxrwxrwx 0 0 0 0 Aug 22 14:50 META-INF/ -rwxrwxrwx 0 0 0 128 Aug 22 14:50 META-INF/MANIFEST.MF drwxrwxrwx 0 0 0 0 Aug 22 14:50 WEB-INF/ drwxrwxrwx 0 0 0 0 Aug 22 14:50 WEB-INF/classes/ drwxrwxrwx 0 0 0 0 Aug 22 14:50 WEB-INF/classes/com/ drwxrwxrwx 0 0 0 0 Aug 22 14:50 WEB-INF/classes/com/example/ drwxrwxrwx 0 0 0 0 Aug 22 14:50 WEB-INF/classes/com/example/wicket/ drwxrwxrwx 0 0 0 0 Aug 22 14:50 WEB-INF/lib/ -rwxrwxrwx 0 0 0 608 Aug 22 14:50 WEB-INF/classes/com/example/wicket/HelloWorld.class -rwxrwxrwx 0 0 0 551 Aug 22 14:50 WEB-INF/classes/com/example/wicket/HelloWorldApplication.class -rwxrwxrwx 0 0 0 25962 Aug 21 16:07 WEB-INF/lib/slf4j-api-1.6.4.jar -rwxrwxrwx 0 0 0 2126440 Aug 21 16:07 WEB-INF/lib/wicket-core-6.10.0.jar -rwxrwxrwx 0 0 0 86671 Aug 21 16:07 WEB-INF/lib/wicket-request-6.10.0.jar -rwxrwxrwx 0 0 0 415858 Aug 21 16:07 WEB-INF/lib/wicket-util-6.10.0.jar -rwxrwxrwx 0 0 0 690 Aug 22 13:22 WEB-INF/web.xml drwxrwxrwx 0 0 0 0 Aug 22 14:50 META-INF/maven/ drwxrwxrwx 0 0 0 0 Aug 22 14:50 META-INF/maven/wicketTest/ drwxrwxrwx 0 0 0 0 Aug 22 14:50 META-INF/maven/wicketTest/wicketTest/ -rwxrwxrwx 0 0 0 675 Aug 22 08:52 META-INF/maven/wicketTest/wicketTest/pom.xml -rwxrwxrwx 0 0 0 112 Aug 22 14:50 META-INF/maven/wicketTest/wicketTest/pom.properties
How to specify in my POM file to include an html file?
My POM is now minimal:
<?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>
java maven wicket
David Williams
source share