Eclipse: Javascript-Validierung deaktiviert. aber immer noch fehler erzeugen?


83

Die Validierung in Eclipse fängt ab, was es als "Fehler" in dem Framework ansieht, das ich verwendet habe.

  • Project -> Properties -> Validation -> "Suspend all validators" funktioniert nicht

  • Project -> Properties -> Javascript -> Validation -> Errors/Warnings -> [Unchecked] "Enable Javascript semantic validation" funktioniert auch nicht.

  • Das Aktivieren des oben genannten Kontrollkästchens und das Setzen aller Validierungsprobleme auf "Ignorieren" funktioniert ebenfalls nicht.

Jedes Mal, wenn sich eine dieser Einstellungen ändert, wird ein Build ausgeführt, und sofort werden alle "Fehler" gefunden, und anschließend wird ein ansonsten bekanntermaßen guter Build verhindert.


Welche Version von Eclipse? Inline JS oder in einer .jsDatei?
Matt Ball

Eclipse 3.7.0 (Indigo) mit installiertem Web Tools Platform-Plugin. (Sowie Android- und PhoneGap-Plugins.) Diese befinden sich in .js-Dateien.
Alter McStopher


Antworten:


194
  1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt
  2. Wählen Sie Eigenschaften -> JavaScript -> Einschließen
  3. Registerkarte "Quelle auswählen" (Sie ähnelt der Registerkarte "Quelle des Java-Erstellungspfads".)
  4. Erweitern Sie den Quellordner
  5. Markieren Sie Ausgeschlossenes Muster
  6. Klicken Sie auf die Schaltfläche Bearbeiten
  7. Klicken Sie neben dem Feld Ausschlussmuster auf die Schaltfläche Hinzufügen.
  8. Klicken Sie auf die Schaltfläche Durchsuchen und wählen Sie die JavaScript-Quelle nach Namen aus.

Ich habe eine Frage: Jedes Mal, wenn ich maven-> update project ausführe, muss ich das Projekt bereinigen und erneut erstellen. Gibt es eine Möglichkeit, dies zu vermeiden?
Hetaoblog

3
Ich denke nicht, dass diese Antwort die richtige ist. Sie möchten die Validierung selbst deaktivieren und keine Quellen davon ausschließen.
Jaroslav Záruba

Dies hat bei meinem Projekt nicht funktioniert. Vielleicht läuft ein anderer Builder. Ich habe eine definitiv falsche Codezeile: return <div> Hallo {this.props.name} </ div>; Diese Zeile ist jedoch korrekt, jsx. Ja, wird in Zukunft stattdessen die Erweiterung * .jsx verwenden, dies veranschaulicht jedoch einen Eclipse-Konfigurationsschmerzpunkt.
Josef.B

Was ist, wenn ein bestimmter Ordner (wie bower_components) Javascript-, HTML- und JSON-Dateien enthält? Das Hinzufügen dieses Ordners zum ausgeschlossenen Muster ist nur für die JS-Validierung gültig.
Bruno Bruzzano

32

Sie müssen tatsächlich die globalen Builder-Einstellungen deaktivieren, um dies zu tun:

Right Click Project => Build Path => Configure Build Path => Builders

JavaScript ValidatorStellen Sie auf der rechten Seite sicher , dass diese Option deaktiviert ist, wenn nicht, deaktivieren Sie sie.

Speichern Sie dann die Konfiguration und erstellen Sie einen sauberen Build.


3
Das ist natürlich die richtige Antwort. Sie möchten die JS-Validierung deaktivieren und keine Ressourcen ausschließen.
Jaroslav Záruba

2
Wenn Sie dies tun, klicken Sie mit der rechten Maustaste auf Ihr Projekt und wählen Sie Validieren. Möglicherweise müssen Sie die Fehler jedoch auch von der Registerkarte "Probleme" löschen. Durch die anschließende Bereinigung / Erstellung wird die Validierung nicht mehr durchgeführt.
Jaroslav Záruba

Ich fand diese Antwort nützlich in RSA, das nicht über die Option zum Einschließen / Ausschließen von Javascript verfügt.
Ravi

Danke für diese Antwort. Mit Luna 4.4:Project Properties => Builders
NBcrafts

Das wäre großartig, außer es funktioniert nicht. Ich habe den Javascript Validation Builder deaktiviert. Ich habe auch eine "Ausschluss" -Regel als "Stern Stern Schrägstrich Stern" in die Javascript-Projekteinstellungen eingefügt. Ich habe auch Eclipse neu gestartet, das Projekt bereinigt und meine Gebete gesprochen. Im Ernst, Eclipse ist totaler Müll, wenn es um die Validierung geht. Die JSP-Validierung SUCKS und die JS-Validierung SUCKS. Ende schimpfen.
KyleM

12

Wenn Sie die JavaScript-Validierung vollständig aus einem Projekt entfernen möchten, können Sie sie einfach aus der Projektdatei entfernen.

  • Öffnen Sie die Projektdatei Ihres Projekts in einem Texteditor.
  • Entfernen Sie die Leitung <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
  • Aktualisieren Sie Ihr Projekt

Wenn Sie nun in Ihre Projekteigenschaften gehen, werden Sie feststellen, dass die JavaScript-Option vollständig weg ist.


5

Die Validierung von .js-Dateien wird vom JavaScript-Validator durchgeführt. Dies ist jedoch ein Builder , der nicht in das allgemeine Validierungsframework integriert werden kann. Wenn Sie die Einstellungen für Fehler / Warnungen ändern, sollte ein Clean and Build die Ergebnisse anzeigen.


2

Angenommen, Sie führen die in der akzeptierten Antwort dieses Threads angegebenen Schritte aus. Um beispielsweise alle .js-Dateien rekursiv aus dem Dojo-Ordner auszuschließen, fügen Sie hinzu dojo/**/*.js


2

Ich habe alles versucht und keines hat funktioniert. Das hat bei mir funktioniert, nachdem ich damit herumgespielt habe.

  1. Klicken Sie mit der rechten Maustaste auf die kleine Seitenleiste, auf der die Fehler angezeigt werden.
  2. Klicken Sie auf Einstellungen.
  3. Deaktivieren Sie "Probleme während der Eingabe melden".
  4. Klicken Sie auf Übernehmen und auf OK.

1

Wenn keiner der oben genannten Schritte ( Deaktivieren , Ausschließen usw. ) funktioniert .... Nach dem Deaktivieren des Validators ... löschen Sie die js-Datei und fügen Sie sie wieder in den Arbeitsbereich ein.


1

Ich glaube, dies wird durch diesen Fehler in Eclipse Web Tools <3.5.2 verursacht

Es scheint auch nur minimiertes Javascript zu betreffen (es reagiert empfindlich auf bestimmte Muster in Funktionsdeklarationen - siehe Link)

@Marek beschreibt eine Problemumgehung zum Entfernen der Fehler, wenn Sie eine betroffene Version von Eclipse Web Tools verwenden. Eine bessere Lösung könnte jedoch darin bestehen, auf Eclipse> = 4.3 zu aktualisieren und Eclipse Web Tools> = 3.5.2 zu verwenden


0

Es kann auch sein, dass nicht die Standard-JS-Validierung Ihren Fehler generiert. Nachdem ich eines Abends etwa eine halbe Stunde lang ziemlich verwirrt war, stellte ich fest, dass die von mir verwendete Installation von JSHint Fehler in meinen minimierten js-Bibliotheken und nicht die Standard-JavaScript-Validierung kennzeichnete.

Natürlich hat JSHint auch die Möglichkeit, bestimmte Dateien auszuschließen. Und wenn Sie es tatsächlich konfigurieren, funktioniert es ähnlich wie die oben genannten Lösungen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.