“Der Typ java.util.Map$Entry kann nicht aufgelöst werden" (tomcat6 + JDK7)
Ich habe eine JSP-app, die gibt mir die Fehlermeldung:
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
Stackoverflow ist voll von post zu diesem Fehler, aber alle von Ihnen zu lösen, nur der Zusammenstellung der .java
Dateien mit JDK7, plus der Verwendung von tomcat mit der gleichen version (ich meine, Sie unten, um JDK8 das scheint das problem zu sein, da einige IDE-version und tomcat-Versionen nicht unterstützt wird).
Das problem ist, dass habe ich gebaut meine app (.java
Dateien) mit JDK 1.7.0_79
, plus ich habe meine tomcat 6
- server über die gleiche.
Also gibt es kein JDK-8 überall... Einige screenshots mit den Daten:
Mein JVM Verzeichnis:
Error-stacktrace:
Tomcat-Prozess (die Ausführung mit JDK7):
Javac-version zu kompilieren:
Irgendeine Ahnung, warum bekomme ich dennoch diese Fehlermeldung?
Danke im Voraus
Ich Baue von der Kommandozeile aus (über ein script von mir gemacht) @TimBiegeleisen
Ist es möglich, dass du eine JAR-Datei, die benötigt Java 8? Die Abhängigkeiten sind verwenden Sie?
Meine
JAVA_HOME
ist in /etc/default/tomcat6
wie JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79
. Über mein GLAS ich denke, es ist möglich, aber ich denke nicht so, weil bis ich den code Hinzugefügt, die verwendet werden Map
Klasse, meine JSP-Datei, die ich habe keine Probleme mit meiner JSP App.
InformationsquelleAutor Btc Sources | 2015-06-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Führen Sie Tomcat mit Java 6 oder ein upgrade auf Tomcat 7 und stellen Sie sicher, dass Sie nicht einige alte pre-Java-5/pre-Generika-Bibliothek im classpath.
Warum Sie diese Fehlermeldung erhalten? Irgendwo in der JSP-code (nicht dein code, Geist), ist eine Abhängigkeit von
java.util.Map.Entry
. Dies kann im code die Jasper generiert aus Ihren JSP.Es ist nicht eine direkte Abhängigkeit; vielmehr Ihren code (oder die generierten Java-code aus Ihrer JSP) braucht etwas anderes, das muss dann
java.util.Map.Entry
Aber das interface in irgendeiner Weise geändert wurde. In der Regel, das ist mit Java 8, da der neue statische Hilfsmethoden, die Sie Hinzugefügt: Die Namen der Klasse ist das gleiche (das macht die Fehler so verwirrend), aber die API hat sich geändert und der code kann nicht etwas finden (oder finden etwas, was es nicht erwartet hatte).
Ein ähnliches problem kann auftreten, wenn Sie versuchen, kompilieren gegen eine pre-Generika-Klasse (obwohl, dass sollte funktionieren).
Sogar noch schlimmer,
import java.util.Map
in Ihre JSP funktioniert. Es ist die vorhandenen bytecode woanders, die Ursachen der Probleme.[BEARBEITEN]
Ja 🙂
rt.jar
ist die Java-runtime. Es enthältjava.*
- und in Ihrem Fall, eine version vonjava.util.Map
denen nicht übereinstimmen, die von Ihrer Java-VM.Entfernte es und es sollte funktionieren.
ClassNotFoundException
an der Zeit, ich öffne meine webapp im browser, und diese schaltet mit dem gleichen Fehler wie zuvor, aber auch in der JSP-Dateien, in denenMap
Klasse nicht verwendet! Es ist seltsam, da Es scheint, dass, wenn meine JSP-Datei waren in einer Klasse und es kann nicht es gefunden... die Beiden Fehler aus dem Zugriff auf eine JSP-Datei form meine app hier: pastebin.com/zdtyVAhAWenn
org.apache.jsp.manager_jsp
fehlt, dann die Hälfte der JSP-compiler ist nicht da, oder Sie mischen zwei JSP-Compiler. Sind Sie sicher, dass Ihre installation ist sauber, die Festplatte nicht haben Aussetzer/Fehler und Sie nicht haben seltsame Sachen (wiejsp.jar
) auf dem Klassenpfad? Können Sie versuchen, mit einer einfachen app mit nur einer einzigen JSP-Datei? Vielleicht implementieren Sie die JSP-demo-app von Tomcat?Die instalation war fertig, nur jetzt mit
apt-get
. Die Festplatte habe keine Fehler (zumindest bekannt) und ist in eine virtuelle Maschine zwei Stunden her.. ich hab installiert tomcat7-Beispiele, versuchten einige von Ihnen, dieTag Plugins
Kategorie ausfällt, der andere läuft wunderbar (versucht >1 aus jeder Kategorie). In meinem/WEB-INF/lib/
Ordner habe ich:commons-fileupload
,commons-io
,poi
undrt
(kann das ein problem sein? Ich werde versuchen, ohne es!).Es hat geklappt! Es gibt nun eine andere Fehlermeldung, aber tomcat funktioniert gut, meine app hat gut funktioniert und ist ein code-Fehler von mir. Vielen Dank für Eure Hilfe!!!
Sie haben
rt.jar
in Ihrem WEB-INF/lib????InformationsquelleAutor Aaron Digulla
Ich hatte das gleiche problem mit Eclipse Mars, JDK 8 und der Tomcat-Maven-Plugin. Es war gelöst, das ändern der plugin-version 2.2 in meinem pom.xml.
InformationsquelleAutor Sandney Farias da Cunha
Ich habe tomcat-7.0.22 und jdk1.8.0_45 und ich ersetzt die ecj-3.7.jar Datei, die in tomcat/lib-Verzeichnis mit ecj-4.6.1.jar die Datei in der tomcat-8.0.43 und entledigte sich des Fehlers.
für mehr Informationen werfen Sie einen Blick auf diese post So ändern Sie den tomcat-compiler
InformationsquelleAutor user3712161