Joda DateTime in Wicket

Mehrlin

Mitglied
Guten Morgen Leute,
ich hab da mal wieder ein kleines Problemchen^^
hab natürlich auch schon danach gegoogelt!! aber des bringt mich leider nicht weiter.

hier mein Problem:
bei dem Versuch eine Joda DateTime in eine Wicket Listview zu packen erscheint folgender Fehler
-->
WicketMessage: Can't instantiate page using constructor public de.jme.basis.web.anwendung.pages.Seite1()

Root cause:

java.lang.ClassNotFoundException: org.joda.time.DateTime
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
at de.jme.holidays.calculator.HolidaysOfYear_Germany.<init>(HolidaysOfYear_Germany.java:73)
at de.jme.holidays.calculator.Holidays.getHolidaysFromGermany(Holidays.java:149)
at de.jme.holidays.calculator.Holidays.getHolidays(Holidays.java:122)
at de.jme.basis.web.anwendung.pages.Seite1.<init>(Seite1.java:28)
<----

Das mit dem falschen Konstruktor ist meines Erachtens völliger Schmarn??!!

habt ihr da Erfahrung mit Joda DateTime in Wicket??
wäre schön wenn mir da jemand weiterhelfen könnte

Gruß Mehrlin
 

Mehrlin

Mitglied
Eclipse will die da i-wie nicht haben.....?? unter Build Path gehts nicht und auf wenn ichs im workspace einbinde interessiert es eclipse nicht...es wird einfach ignoriert
 

caleb

Mitglied
Wie schon Turtle richtig bemerkte, das ist weder ein Joda noch ein Wicketproblem, sondern deine Lib fehlte eben im WEB-INF/lib im resultierenden War.

Mit Maven könntest Du das Problem elegant lösen, indem du die Library im Pom referenzierst.

Bsp pom.xml:

[XML]
<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/maven-v4_0_0.xsd">
<!-- Author: Du-->
<!-- Revised: $Author: xy $ -->
<!-- Version: $Revision: 1053 $ -->
<modelVersion>4.0.0</modelVersion>

<artifactId>deine.artifakt.id</artifactId>
<groupId>deine.gruppe</groupId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>

<name>leserlicher name</name>
<description>was deine app tut</description>

<properties>
<!-- and for other wicket components the default -->
<wicket.version>1.4.20</wicket.version>
<schemaDir>src/schema</schemaDir>
<netbeans.hint.deploy.server>gfv3ee6</netbeans.hint.deploy.server>
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket</artifactId>
<version>${wicket.version}</version>
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-extensions</artifactId>
<version>${wicket.version}</version>
</dependency>

<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-datetime</artifactId>
<version>${wicket.version}</version>
</dependency>
<!-- joda time -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.1</version>
</dependency>
</dependencies>
</dependencies>
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.log4j</exclude>
</excludes>
</resource>
<resource>
<filtering>false</filtering>
<directory>src/main/java</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<filtering>true</filtering>
<directory>src/test/resources</directory>
</testResource>
</testResources>

<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>ISO-8859-1</encoding>
</configuration>
</plugin>

<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>ISO-8859-1</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
[/XML]

Wichtig bei Wicket ist das korrekte Resource Filtering, ansonsten werden die Html Artefakte nicht mit dem War mit deployt. Wenn dir das ganze spanisch vorkommt, lies ein Buch zu Maven oder nutze Alternativen wie Ant/Gradle etc.

Im Notfall könntest du auch das betreffende Jar ins domain/lib Verzeichnis deines Servers kopieren. Das wäre aber eine ausgesprochen schlechte Lösung, sauberer wäre ein Build Tool einzusetzen.
 

Mehrlin

Mitglied
es war das lib problem...bzw n bug von eclipse. Ich hatte es schon im richtigen Ordner nur die Aktualisierung stimmte nicht.
Danke für eure Hilfe
 

Ähnliche Java Themen

Neue Themen


Oben