JWebUnit Fehler: java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException

Hein_nieH

Bekanntes Mitglied
Hallo,

Ich bin jetzt kurz vor der Aufgabe.
Ich versuche mich in JWebUnit einzuarbeiten.
Hierzu habe ich eine einfache JSP Anwendung erstellt, die ich mit JWebUnit testen möchte.

Die Anwendung funktioniert auf dem Tomcat Server problemlos.

Nun zu meinem Problem:
Rufe ich die geschriebene Testklasse auf, so erhalte ich nachstehende Fehlermeldung:

ava.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException
at net.sourceforge.jwebunit.junit.JWebUnit.getTester(JWebUnit.java:62)
at net.sourceforge.jwebunit.junit.JWebUnit.setTestingEngineKey(JWebUnit.java:2439)
….

Ich versuche es mit nachstehender IDE zu realisieren:
Eclipse Java EE IDE for Web Developers.
Version: Luna Release (4.4.0)

Ursprünglich hatte ich versucht das Projekt mit Maven zu beginnen.
Da scheiterte ich an der Fehlermeldung
Could not resolve archetype ...

Dann habe ich in Eclipse begonnen meine Übung klassisch umzusetzen, also
JWebUnit Bibliothek
JUnit4.13
hamcrest-core1.3
heruntergeladen und in den classpath eingebunden.

Wenn ich die Testklasse in Eclipse über Run as JUnit Test laufen lasse bekomme ich diesen Fehler.

Mit der Suche in Google bin ich auch auf diesen Fehler gestoßen aber mi den Antworten/Lösungen nicht weitergekommen.

Meine Frage:
Kann ich meine Übung JWebUnit Übung in Eclipse grundsätzlich ohne Maven realisieren?
Hat jemand eine Lösung für die o.g. Fehlermeldung?

Wie gesagt diese ganze Materie ist für mich Neuland.
Mit coronafreiem Gruss
Hein_nieH
 
Vermutlich fehlen dir noch Abhängigkeiten. Du kannst schauen, was das maven modul zu jwebunit als Abhängigkeiten listet: https://mvnrepository.com/artifact/net.sourceforge.jwebunit/jwebunit/3.3

Die wirst du ggf. brauchen (+alles, was die als Abhängigkeiten brauchen)

Ansonsten schauen, was auf webunit seite steht: https://jwebunit.github.io/jwebunit/installation.html - Da steht was, das man eines der beiden Plugins (HtmlUnit oder Webdriver) nutzen soll.

Edit: Auf der Webseite steht es sogar:
If you don't want to use Maven, make sure you add the jwebunit-htmlunit-plugin-XX.jar, jwebunit-core-XX.jar and all HtmlUnit dependencies (these files are in lib/ folder of the JWebUnit package) to your classpath in your IDE.
 
Hallo Herr Langwald,

danke für die Rückmeldung.
Die Hinweise im letzten Absatz sind bei mir vollständig erfüllt.
Ich werde mir die Links zu jwebunit noch einmal ansehen.

Das von mir geschilderte Problem scheinen viele Entwickler zu haben.

Mit freundlichem Gruss
Hein_nieH
 
Hallo LimDul,
danke für den Hinweis.
Also werde ich zunächst Versuchen Maven zum laufen zu bringen.
Es soll in meiner Eclipse Version Luna 440 bereits integriert sein jedoch bin ich auf Grund einer Fehlermeldung nicht in der Lage ein simples Maven-Projekt anzulegen, daher der
 
Hallo,
wenn ich mit Maven arbeite habe ich das Problem, das ich über den Remote Archetype Catalog nichts laden kann.
Gebe ich im Eingabefenster (Window->preverences->Maven->Archetype) den Link ein und drücke den Button "Verify", so kommt die Meldung
"Remote cataloge is empty".
Ich habe kein Proxy.Dachte zunächst es liegt daran.
Gibt es einen Forenmitglied, das ein jwebunit Projekt auch ohne Maven erfolgreich zum Laufen gebracht hat.
Ich habe das Ganze Wochenende nur mit der Problemlösung verbracht.
D.h ich habe versucht ein simples Maven-Projekt in Eclipse zu starten.
 
Also den Punkt von @thecain möchte ich noch einmal aufgreifen: Wieso arbeitest Du mit einer Eclipse Version von 2014? Die ist nun wirklich hoffnungslos veraltet und die dürfte hier kaum einer im Einsatz haben und ob man sich daran erinnert, wie etwas vor 6 Jahren war?

Was spricht gegen die Nutzung einer aktuellen Version?

Aber davon unabhängig:
Was genau versuchst Du? Deinem Text entnehme ich, dass Du versuchst einen neuen Archetype Catalog hinzu zu fügen. Was für einen Archetype Catalog willst Du denn hinzu fügen? Das Maven Repository bietet einen zentralen Archetype Catalog. Da finden sich die Dinge, die Du brauchst doch. Der Link bezüglich Installation in #2 besagt auch nichts von einem Archetype Catalog. Alles was Du machen sollst, ist die Dependency in der pom.xml eintragen....
Daher frage ich mich gerade, was ich da derzeit übersehen habe ...
 
Hallo JustNobody,
Ursprünglich ging es darum mich in JWebUnit einzuarbeiten, d.h. ich wollte zu ein paar geschrieben JSP Testklassen schreiben.
Ich dachte ich bekomme das ohne Maven hin.
Ich habe mir JWebUnit heruntergeladen und in Eclipse eingebunden. Ebenfalls habe ich mir Junit (mit hamcrest-core) heruntergeladen und in Eclipse
eingebunden.
Beim Versuch den UnitTest auszuführen gab es dann nachstehende Fehlermeldung
Java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException
at net.sourceforge.jwebunit.junit.JWebUnit.getTester(JWebUnit.java:62)
at net.sourceforge.jwebunit.junit.JWebUnit.setTestingEngineKey(JWebUnit.java:2439)
….
Google Recherchen zufolge haben sich andere Anwender in der Vergangenheit mit diesem Problem auch herumgeschlagen.

Nach dem ich mich mit verschiedenen Beispielanwendungen (welche ich bei Google gefunden habe) beschäftigt habe, wurde klar
dass es wohl ohne zuvor ein Maven-Projekt zu starten nicht oder nur extrem schwierig funktionieren würde.
Daher mein Versuch, entsprechend der bei Google gefundenen Beispiele zu JWebJunit diese unter Einbeziehung von Maven zu realisieren.
Und damit begann das nächste Problem: Ich konnte keinen über Eclipse kein archetypeladen. Ich hätte maven-archetype-webapp benötigt.
Die Nutzung der intern von Eclipse mitgelieferten archettype-Dateien verursachen die Fehlermeldung "could not resolve archetype"

Versuche ich in Eclipse per Remote den Archetype-Catalog zu laden erhalte ich die Meldung "Remote Cataloge is emty".

Warum Eclipse Luna.
Auf einem Firmenrechner ist jdk 1.7.0 installiert. Mal so schnell eine höhere Java-Version aufspielen geht leider nicht.
Die hierzu am stabilsten laufende Eclipse Version wäre nach meinem Kenntnisstand Eclipse LUNA.

Das Problem mit dem leeren Archetype Katalog habe scheinbar nicht nur ich sondern auch viele andere Nutzer.
Gleiches gilt für die Fehlermeldung:
Java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException
at net.sourceforge.jwebunit.junit.JWebUnit.getTester(JWebUnit.java:62)
at net.sourceforge.jwebunit.junit.JWebUnit.setTestingEngineKey(JWebUnit.java:2439)
….

Ich hoffe, dass jetzt etwas mehr Klarheit herrscht.
Leider befürchte ich, dass ich meine Gehversuche mit JWebUnit begraben muss.

Gruss Hein_neiH
 
Warum Eclipse Luna.
Auf einem Firmenrechner ist jdk 1.7.0 installiert. Mal so schnell eine höhere Java-Version aufspielen geht leider nicht.
Die hierzu am stabilsten laufende Eclipse Version wäre nach meinem Kenntnisstand Eclipse LUNA.
Wenn du Eclipse einfach so installieren kannst, ist eine zusätzliche, aktuelle Java-Version noch einfacher zu installieren.

ZB über sdk-man, Java 1.7 bleibt davon unberührt.

Nach dem ich mich mit verschiedenen Beispielanwendungen (welche ich bei Google gefunden habe) beschäftigt habe, wurde klar
dass es wohl ohne zuvor ein Maven-Projekt zu starten nicht oder nur extrem schwierig funktionieren würde.
Daher mein Versuch, entsprechend der bei Google gefundenen Beispiele zu JWebJunit diese unter Einbeziehung von Maven zu realisieren.
Und damit begann das nächste Problem: Ich konnte keinen über Eclipse kein archetypeladen. Ich hätte maven-archetype-webapp benötigt.
Die Nutzung der intern von Eclipse mitgelieferten archettype-Dateien verursachen die Fehlermeldung "could not resolve archetype"
Du brauchst keinen Archetype, geht genausogut ohne.

Wenn du schon Beispielprojekte gefunden hast ist’s am einfachsten, einfach eines von denen zu nutzen.
Wenn nötig einfach alles rausschmeißen, was für dein Projekt irrelevant ist.

Ansonsten kann dir sicher hier auch jemand kurz eine entsprechende pom.xml bereitstellen (ich würde, wenn ich grad nen Rechner hätte...)
 
Nein, nicht wirklich....

Also das mit der ClassNotFoundException: Das sieht mir etwas nach eine fehlenden Library aus. Nur das Jakarta Regex Projekt hatte sein letztes Release 2007. Daher würde mich prinzipiell auch einmal interessieren, was für alte Versionen du da überhaupt verwendest, so dass es da ggf. so eine Abhängigkeit gibt? Das Projekt findet sich aber ansonsten unter
und Downloads unter

Evtl. kommst Du weiter, wenn Du da etwas verwendest.

Aber zurück zu Maven:
So einen Archetyp kannst Du ja nutzen wollen. Aber noch einmal: Wozu hast Du unter Window->preverences->Maven->Archetype einen neuen Archetyp Catalog eingeben wollen? Der Archetyp maven-archetype-webapp sollte auch so zur Verfügung stehen, wenn man mit Eclipse ein neues Projekt anlegt. Luna habe ich aber nicht, aber unter 2019-3 legt man einfach ein neues Projekt an und in den Dialogen wählt man dann den Archetyp aus. Muss man ggf. auf der ersten Seite des Wizards einen Haken wegnehmen, dass er da nicht den default Archetyp nutzen soll.
==> Ich lade gerade luna runter, um es mir einmal anzusehen, ob es da anders war. So richtig glauben kann ich es aber nicht ...

Und diese asbach uralt Versionen zu nutzen sehe ich extrem kritisch. Wie man sieht: Gewisse Libraries gibt es so nur noch in Archiven und so. Undwer weiss, was da annicht behobenen Bugs und Security Problemen drin ist. Aber vielen Dingen kann man direkt nachgehen....


Aber generell kannst Du einfach ein pom.xml nehmen und anpassen. Da ist keinerlei Magie so dass Du sonst irgendwas irgendo in der GUI klicken musstdamit etwas geht und wenn Du das nicht gemacht hast, hast Du nur unbrauchbaren Mist ...
Aber ob und wie sowas dann auf 1.7 laufen wird, ist dennoch die Frage. Die Libraries müssen ja alle 1.7 unterstützen ... Das könnte durchaus ein Problem darstellen....
 
Luna habe ich aber nicht, aber unter 2019-3 legt man einfach ein neues Projekt an und in den Dialogen wählt man dann den Archetyp aus.

So sollte es bei Luna in der Theorie auch sein, die Praxis sieht jedoch anders aus.
Wenn man bei Google die Fehlermeldung "Could not resolve archetype" eingibt, so sieht man das viele Nutzer dieses Problem haben.
Morgen vormittag experimentiere (anders kann man es nicht mehr nennen) ich weiter.

Ich wäre froh, wenn ich überhaupt ein simples JWebUnit Projekt zum laufen bekäme.
Die implementation der JSP und der Testcases funktionieren ja in Eclipse.
Auch auf dem TomCat läufen die JSP

Nur wenn man die Testklasse in Eclipse startet kommt der verdammte Fehler
Java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException
at net.sourceforge.jwebunit.junit.JWebUnit.getTester(JWebUnit.java:62)
at net.sourceforge.jwebunit.junit.JWebUnit.setTestingEngineKey(JWebUnit.java:2439)
….

Gruss Hein_nieH
 
Moinsen,

ich habe heute noch folgenden Test gemacht:
- Eclipse Luna neu aufgesetzt
- neuen jungfräulichen Workspace angelegt und
- alten .m2 Folder gelöscht

Anschliessend versucht ein neues Maven Projekt anzulegen.
Leider ohne Erfolg.
Es kam wieder der Fehler
Could not resolve archetype ...

Mittlerweile habe ich keine weiteren Ideen.
Gruss Hein_nieH
 
Vergiss den archetype.

Du sagtest du hast Beispiel-Projekte gefunden? Kannst du einmal eins zeigen? Dessen Konfiguration kann man dann nutzen.


- Eclipse Luna neu aufgesetzt
Wie schon gesagt: installier dir einfach zusätzlich ein aktuelles Java und ne aktuelle Eclipse-Version. Sowohl die Java als auch die Eclipse-Version werden nicht mehr unterstützt.
 
Hallo,

habe das Projekt aus dem Tutorial importiert.
Im Eclipse gab es eine Fehlermeldung, dass es mit dem Archetype Probleme gibt.
Ich werde morgen mal einen Screenshot reinstellen.

Gruss Hein_nieH
 
Da wird weder ein Archetype nötig noch wird einer benutzt.

Und wie schon gesagt: die Eclipse-Version ist völlig veraltet, nutz ne Neue.
 
Moinsen,

wie im Post 9 geschrieben

Warum Eclipse Luna.
Auf einem Firmenrechner ist jdk 1.7.0 installiert. Mal so schnell eine höhere Java-Version aufspielen geht leider nicht.
Die hierzu am stabilsten laufende Eclipse Version wäre nach meinem Kenntnisstand Eclipse LUNA.

Der Ausgangspunkt ist das ich nur jdk 1.7.0 auf meinem Firmenrechner habe. Da herum muss ich alles anpassen, wenn ich diesen nutze.
 
Moinsen,

ich habe zu meinem JWebUnit-Versuch noch einmal einen Screenshot herangehängt.
Hier habe ich den Ansatz OHNE Maven dargestellt.

Es wurden als externe Bibliotheken eingebunden
jwebunit-core-3.3
jwebunit-htmlunit-plugin-3.3
junit-4.13
hamcrest-core-1.3.

Die jsp-Dateien laufen auf dem Tomcat-Server
Die Java-Test-Klasse zeigt im Editor auch keine Fehler an.

Erst wenn die TestKlasse in Eclipse als JUnit-Test (Run as Junit-Test) gestartet wird erscheint der Fehler


Vielleicht kann jemand daraus eine Erklärung ableiten.

Gruss Hein_nieH
 

Anhänge

  • Screenshot (1).png
    Screenshot (1).png
    236 KB · Aufrufe: 4
Hallo,

jetzt noch ein Screenshot aus dem importierten Beispiel mit Maven.

Neue Java Installation geht auf diesem Rechner nicht, da ich keine Admin Rechte habe.

Eclipse und Tomcat konnte ich in meinem Home-Verzeichnis installieren, da diese ja als gepackte Datei (*.zip) zur Verfügung gestellt werden und
nur im entsprechenden Verzeichnis entpackt werden müssen.

Gruss Hein_nieH
 

Anhänge

  • Screenshot (2).png
    Screenshot (2).png
    204,6 KB · Aufrufe: 4

Zurück
Oben