Der Nu Html Checker (v.Nu) hilft Ihnen, unbeabsichtigte Fehler in Ihrem HTML, CSS und SVG zu erkennen. Es ermöglicht Ihnen, Dokumente über die Befehlszeile und andere Skripte/Apps stapelweise zu prüfen und Ihre eigene Instanz des Prüfers als Dienst bereitzustellen (wie validator.w3.org/nu). Der Quellcode sowie Anweisungen zum Erstellen, Testen und Ausführen des Codes sind verfügbar.
Eine Docker-Datei (siehe Pullen des Docker-Images unten) sowie npm-, pip- und brew-Pakete sind ebenfalls verfügbar.
Es wird von den Originalautoren in den folgenden Formaten veröffentlicht:
vorkompilierte Linux-, Windows- und macOS-Binärdateien, die eine eingebettete Java-Laufzeitumgebung enthalten
vnu.jar
– eine portable Version, die Sie auf jedem System verwenden können, auf dem Java 11 oder höher installiert ist
vnu.war
– zum Bereitstellen des Prüfdiensts über einen Servlet-Container wie Tomcat
Hinweis: Für die Dateien vnu.jar und vnu.war muss Java 11 oder höher installiert sein. Für die vorkompilierten Linux-, Windows- und macOS-Binärdateien ist keine bereits installierte Java-Version erforderlich.
Sie können die neueste Version herunterladen oder docker run -it --rm -p 8888:8888 ghcr.io/validator/validator:latest
, npm install vnu-jar
, npm install --registry=https://npm.pkg.github.com @validator/vnu-jar
, brew install vnu
oder pip install html5validator
und sehen Sie sich die Abschnitte „Nutzung“ und „Webbasierte Überprüfung“ an unten. Oder automatisieren Sie Ihre Dokumentenprüfung mit einem Frontend wie:
Grunt-Plugin für die HTML-Validierung oder Gulp-Plugin für die HTML-Validierung oder Maven-Plugin für die HTML-Validierung
html5validator pip
-Paket (zur Integration in Travis CI, CircleCI, CodeShip, Jekyll, Pelican usw.)
LMVTFY: Lassen Sie mich das für Sie validieren (automatische Überprüfung von JSFiddle/JSBin usw., Links in Kommentaren zu GitHub-Problemen)
Führen Sie den Prüfer mit einem der folgenden Aufrufe aus:
• vnu-runtime-image/bin/vnu OPTIONS FILES
(Linux oder macOS)
• vnu-runtime-imagebinvnu.bat OPTIONS FILES
(Windows)
• java -jar ~/vnu.jar OPTIONS FILES
(jedes System, auf dem Java8+ installiert ist)
…wobei FILES
die zu prüfenden Dokumente sind und OPTIONS
null oder mehr der folgenden Optionen sind:
--errors-only --Werror --exit-zero-always --stdout --asciiquotes
--user-agent USER_AGENT --no-langdetect --no-stream --filterfile FILENAME
--filterpattern PATTERN --css --skip-non-css --also-check-css --svg
--skip-non-svg --also-check-svg --xml --html --skip-non-html
--format gnu|xml|json|text --help --verbose --version
Der Abschnitt „Optionen“ unten enthält Einzelheiten zu jeder Option, und der Rest dieses Abschnitts enthält einige spezifische Beispiele.
Hinweis: Ersetzen Sie in diesen Beispielen ~/vnu.jar
durch den tatsächlichen Pfad zu dieser JAR-Datei auf Ihrem System und ersetzen Sie vnu-runtime-image/bin/vnu
und vnu-runtime-imagebinvnu.bat
durch den tatsächlichen Pfad zum vnu
oder vnu.bat
-Programm auf Ihrem System – oder wenn Sie das Verzeichnis vnu-runtime-image/bin
oder vnu-runtime-imagebin
Ihrer Systemumgebungsvariablen PATH
hinzufügen, können Sie den Prüfer nur mit vnu
aufrufen .
So überprüfen Sie ein oder mehrere Dokumente über die Befehlszeile:
vnu-runtime-image/bin/vnu FILE.html FILE2.html FILE3.html...
vnu-runtime-imagebinvnu.bat FILE.html FILE2.html FILE3.html...
java -jar ~/vnu.jar FILE.html FILE2.html FILE3.html...
Hinweis: Wenn Sie beim Aufrufen des Prüfers einen StackOverflowError
Fehler erhalten, versuchen Sie, die Thread-Stapelgröße anzupassen, indem Sie die Option -Xss
für Java bereitstellen:
java -Xss512k -jar ~/vnu.jar ...
vnu-runtime-image/bin/java -Xss512k
-m vnu/nu.validator.client.SimpleCommandLineValidator ...
Um alle Dokumente in einem bestimmten Verzeichnis DIRECTORY_PATH
als HTML zu überprüfen:
java -jar ~/vnu.jar DIRECTORY_PATH
vnu-runtime-image/bin/vnu DIRECTORY_PATH
vnu-runtime-imagebinvnu.bat DIRECTORY_PATH
Hinweis: Bei den Beispielen in diesem Abschnitt wird davon ausgegangen, dass Sie das Verzeichnis vnu-runtime-image/bin
oder vnu-runtime-imagebin
in PATH
Umgebungsvariablen Ihres Systems haben. Wenn Sie stattdessen die JAR-Datei verwenden, ersetzen Sie vnu
in den Beispielen durch java -jar ~/vnu.jar
.
Um alle Dokumente in einem bestimmten Verzeichnis DIRECTORY_PATH
als HTML zu überprüfen, aber alle Dokumente zu überspringen, deren Namen nicht mit den Erweiterungen .html
, .htm
, .xhtml
oder .xht
enden:
vnu --skip-non-html DIRECTORY_PATH
So überprüfen Sie alle Dokumente in einem bestimmten Verzeichnis als CSS:
vnu --css DIRECTORY_PATH
Um alle Dokumente in einem bestimmten Verzeichnis als CSS zu überprüfen, aber alle Dokumente zu überspringen, deren Namen nicht mit der Erweiterung .css
enden:
vnu --skip-non-css DIRECTORY_PATH
So prüfen Sie alle Dokumente in einem bestimmten Verzeichnis, wobei Dokumente, deren Namen mit der Erweiterung .css
enden, als CSS und alle anderen Dokumente als HTML geprüft werden:
vnu --also-check-css DIRECTORY_PATH
Um alle Dokumente in einem bestimmten Verzeichnis als SVG zu prüfen:
vnu --svg DIRECTORY_PATH
Um alle Dokumente in einem bestimmten Verzeichnis als SVG zu überprüfen, aber alle Dokumente zu überspringen, deren Namen nicht mit der Erweiterung .svg
enden:
vnu --skip-non-svg DIRECTORY_PATH
So prüfen Sie alle Dokumente in einem bestimmten Verzeichnis, wobei Dokumente, deren Namen mit der Erweiterung .svg
enden, als SVG und alle anderen Dokumente als HTML geprüft werden:
vnu --also-check-svg DIRECTORY_PATH
So überprüfen Sie ein Webdokument:
vnu _URL_
example: vnu http://example.com/foo
So überprüfen Sie die Standardeingabe:
vnu -
example:
echo '<!doctype html><title>...' | vnu -
echo '<!doctype html><title>...' | java -jar ~/vnu.jar -
Bei Verwendung über die Befehlszeile, wie in diesem Abschnitt beschrieben, bietet der Prüfer die folgenden Optionen:
Specifies whether ASCII quotation marks are substituted for Unicode smart
quotation marks in messages.
default: [unset; Unicode smart quotation marks are used in messages]
Specifies that only error-level messages and non-document-error messages are
reported (so that warnings and info messages are not reported).
default: [unset; all messages reported, including warnings & info messages]
Makes the checker exit non-zero if any warnings are encountered (even if
there are no errors).
default: [unset; checker exits zero if only warnings are encountered]
Makes the checker exit zero even if errors are reported for any documents.
default: [unset; checker exits 1 if errors are reported for any documents]
Makes the checker report errors and warnings to stdout rather than stderr.
default: [unset; checker reports errors and warnings to stderr]
Specifies a filename. Each line of the file contains either a regular
expression or starts with "#" to indicate the line is a comment. Any error
message or warning message that matches a regular expression in the file is
filtered out (dropped/suppressed).
default: [unset; checker does no message filtering]
Specifies a regular expression. Any error message or warning message that
matches the regular expression is filtered out (dropped/suppressed).
As with all other checker options, this option may only be specified once.
So to filter multiple error messages or warning messages, you must provide a
single regular expression that will match all the messages. The typical way
to do that for regular expressions is to OR multiple patterns together using
the "|" character.
default: [unset; checker does no message filtering]
Specifies the output format for reporting the results.
default: "gnu"
possible values: "gnu", "xml", "json", "text" [see information at URL below]
https://github.com/validator/validator/wiki/Service-%C2%BB-Common-params#out
Shows detailed usage information.
Check documents as CSS but skip documents that don’t have *.css extensions.
default: [unset; all documents found are checked]
Force all documents to be checked as CSS, regardless of extension.
default: [unset]
Check documents as SVG but skip documents that don’t have *.svg extensions.
default: [unset; all documents found are checked]
Force all documents to be checked as SVG, regardless of extension.
default: [unset]
Skip documents that don’t have *.html, *.htm, *.xhtml, or *.xht extensions.
default: [unset; all documents found are checked, regardless of extension]
Forces any *.xhtml or *.xht documents to be parsed using the HTML parser.
default: [unset; XML parser is used for *.xhtml and *.xht documents]
Forces any *.html documents to be parsed using the XML parser.
default: [unset; HTML parser is used for *.html documents]
Check CSS documents (in addition to checking HTML documents).
default: [unset; no documents are checked as CSS]
Check SVG documents (in addition to checking HTML documents).
default: [unset; no documents are checked as SVG]
Specifies the value of the User-Agent request header to send when checking
HTTPS/HTTP URLs.
default: "Validator.nu/LV"
Disables language detection, so that documents are not checked for missing
or mislabeled html[lang] attributes.
default: [unset; language detection & html[lang] checking are performed]
Forces all documents to be be parsed in buffered mode instead of streaming
mode (causes some parse errors to be treated as non-fatal document errors
instead of as fatal document errors).
default: [unset; non-streamable parse errors cause fatal document errors]
Specifies "verbose" output. (Currently this just means that the names of
files being checked are written to stdout.)
default: [unset; output is not verbose]
Shows the checker version number.
Der Nu Html Checker kann nicht nur als eigenständiger Befehlszeilen-Client verwendet werden, sondern kann auch als HTTP-Dienst ausgeführt werden, ähnlich wie validator.w3.org/nu, zur browserbasierten Überprüfung von HTML-Dokumenten, CSS-Stylesheets und SVG-Bildern über das Web. Zu diesem Zweck wird der Prüfer in mehreren separaten Paketen veröffentlicht:
Linux-, Windows- und macOS-Binärdateien zur Bereitstellung des Checkers als einfacher, eigenständiger Dienst auf jedem System
vnu.jar
zum Bereitstellen des Prüfers als einfacher, eigenständiger Dienst auf einem System mit installiertem Java
vnu.war
zum Bereitstellen des Prüfers in einem Servlet-Container wie Tomcat
Alle Bereitstellungen stellen eine REST-API zur Verfügung, die die Überprüfung von HTML-Dokumenten, CSS-Stylesheets und SVG-Bildern von anderen Clients, nicht nur von Webbrowsern, ermöglicht. Und die Linux-, Windows- und macOS-Binärdateien sowie vnu.jar
-Paket enthalten auch einen einfachen HTTP-Client, der es Ihnen ermöglicht, Dokumente entweder an eine lokal ausgeführte Instanz des Checker-HTTP-Dienstes – für eine schnelle Befehlszeilenprüfung – oder an eine beliebige Remote-Instanz zu senden Instanz des Checker-HTTP-Dienstes, der überall im Web ausgeführt wird.
Die neuesten Versionen der Linux-, Windows- und macOS-Binärdateien sowie der Pakete vnu.jar und vnu.war sind im validator
-Projekt auf Github verfügbar. Im Folgenden finden Sie detaillierte Anweisungen zu deren Verwendung.
Hinweis: Ersetzen Sie in diesen Anweisungen ~/vnu.jar
durch den tatsächlichen Pfad zu dieser JAR-Datei auf Ihrem System und ersetzen Sie vnu-runtime-image/bin/java
und vnu-runtime-imagebinjava.exe
durch den tatsächlichen Pfad zum Checker- java
oder java.exe
Programm auf Ihrem System – oder wenn Sie das Verzeichnis vnu-runtime-image/bin
oder vnu-runtime-imagebin
Ihrer Systemumgebungsvariablen PATH
hinzufügen, können Sie den Checker mit just aufrufen java nu.validator.servlet.Main 8888
.
Um den Checker als eigenständigen Dienst auszuführen (unter Verwendung eines integrierten Jetty-Servers), öffnen Sie ein neues Terminalfenster und rufen Sie den Checker wie folgt auf:
java -cp ~/vnu.jar nu.validator.servlet.Main 8888
vnu-runtime-image/bin/java nu.validator.servlet.Main 8888
vnu-runtime-imagebinjava.exe nu.validator.servlet.Main 8888
Öffnen Sie dann http://0.0.0.0:8888 in einem Browser. (Um einen anderen Port abzuhören, ersetzen Sie 8888
durch die Portnummer.)
Warnung: Zukünftige Checker-Versionen werden standardmäßig an die Adresse 127.0.0.1
gebunden. Ihre Checker-Bereitstellung kann möglicherweise nicht mehr erreichbar sein, es sei denn, Sie verwenden die Systemeigenschaft nu.validator.servlet.bind-address
um den Checker an eine andere Adresse zu binden:
java -cp ~/vnu.jar
-Dnu.validator.servlet.bind-address=128.30.52.73
nu.validator.servlet.Main 8888
vnu-runtime-image/bin/java
-Dnu.validator.servlet.bind-address=128.30.52.73
nu.validator.servlet.Main 8888
vnu-runtime-imagebinjava.exe
-Dnu.validator.servlet.bind-address=128.30.52.73
nu.validator.servlet.Main 8888
Wenn Sie http://0.0.0.0:8888 (oder eine andere URL, die dem von Ihnen verwendeten nu.validator.servlet.bind-address
Wert entspricht) öffnen, sehen Sie ein Formular ähnlich wie validator.w3.org/nu Damit können Sie die URL eines HTML-Dokuments, eines CSS-Stylesheets oder eines SVG-Bilds eingeben und die Ergebnisse der Überprüfung dieser Ressource im Browser anzeigen lassen.
Hinweis: Wenn Sie bei der Verwendung des Checkers einen StackOverflowError
Fehler erhalten, versuchen Sie, die Thread-Stapelgröße anzupassen, indem Sie die Option -Xss
für Java bereitstellen:
java -Xss512k -cp ~/vnu.jar nu.validator.servlet.Main 8888
vnu-runtime-image/bin/java -Xss512k -m vnu/nu.validator.servlet.Main 8888
Um den Prüfer in einem vorhandenen Servlet-Container wie Apache Tomcat auszuführen, müssen Sie die Datei vnu.war
gemäß der Dokumentation auf diesem Server bereitstellen. Auf Apache Tomcat können Sie dies beispielsweise mit der Manager-Anwendung oder einfach durch Kopieren der Datei in das webapps
-Verzeichnis tun (da dies die Standardeinstellung appBase
ist). Normalerweise wird in der Protokolldatei catalina.out
eine Meldung ähnlich der folgenden angezeigt.
May 7, 2014 4:42:04 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/tomcat7/webapps/vnu.war
Angenommen, Ihr Servlet-Container ist für den Empfang von HTTP-Anfragen konfiguriert, die an localhost
auf Port 80
gesendet werden, und das Kontextstammverzeichnis dieser Anwendung ist vnu
(häufig besteht das Standardverhalten darin, den Dateinamen der WAR-Datei als Kontextstammverzeichnis zu verwenden, sofern nicht explizit einer angegeben wird), dann sollten Sie dies tun Sie können auf die Anwendung zugreifen, indem Sie eine Verbindung zu http://localhost/vnu/ herstellen.
Hinweis: Möglicherweise möchten Sie die Datei /WEB-INF/web.xml
in der WAR-Datei anpassen (Sie können jedes ZIP-Verarbeitungsprogramm verwenden), um die Servlet-Filterkonfiguration zu ändern. Wenn Sie beispielsweise den Filter zur Größenbeschränkung für eingehende Nachrichten deaktivieren möchten, können Sie diesen Filter wie folgt auskommentieren:
<!--
<filter>
<filter-name>inbound-size-limit-filter</filter-name>
<filter-class>nu.validator.servlet.InboundSizeLimitFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>inbound-size-limit-filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-->
Der Prüfer ist mit einem HTTP-Client ausgestattet, den Sie über die Befehlszeile verwenden können, um entweder Dokumente an eine lokal ausgeführte Instanz des Prüfer-HTTP-Dienstes zu senden – für eine schnelle Befehlszeilenprüfung – oder an eine Remote-Instanz irgendwo im Web.
Gehen Sie wie folgt vor, um Dokumente lokal mit dem gepackten HTTP-Client zu prüfen:
Starten Sie den Checker als lokalen HTTP-Dienst, wie im Abschnitt „Eigenständiger Webserver“ beschrieben.
Öffnen Sie ein neues Terminalfenster und rufen Sie den HTTP-Client wie folgt auf:
java -cp ~/vnu.jar nu.validator.client.HttpClient FILE.html...
vnu-runtime-image/bin/java nu.validator.client.HttpClient FILE.html...
Um Dokumente an eine Instanz des Prüfers im Web zu senden, z. B. html5.validator.nu/, verwenden Sie die Optionen nu.validator.client.host und nu.validator.client.port wie folgt:
java -cp ~/vnu.jar -Dnu.validator.client.port=80
-Dnu.validator.client.host=html5.validator.nu
nu.validator.client.HttpClient FILE.html...
…oder so:
vnu-runtime-image/bin/java -Dnu.validator.client.port=80
-Dnu.validator.client.host=html5.validator.nu
nu.validator.client.HttpClient FILE.html...
Weitere Optionen sind unten dokumentiert.
Wenn Sie den gepackten HTTP-Client verwenden, um Dokumente zur Prüfung an eine Instanz des Prüfer-HTTP-Dienstes zu senden, können Sie Java-Systemeigenschaften festlegen, um Konfigurationsoptionen für das Prüferverhalten zu steuern.
Sie können beispielsweise Meldungen der Warnstufe unterdrücken und nur Meldungen der Fehlerstufe anzeigen, indem Sie den Wert der Systemeigenschaft nu.validator.client.level
auf error
setzen, etwa so:
java -Dnu.validator.client.level=error
-cp ~/vnu.jar nu.validator.client.HttpClient FILE.html...
…oder so:
vnu-runtime-image/bin/java -Dnu.validator.client.level=error
-cp ~/vnu.jar nu.validator.client.HttpClient FILE.html...
Die meisten der unten aufgeführten Eigenschaften entsprechen den allgemeinen Eingabeparametern für den Prüfdienst, wie unter github.com/validator/validator/wiki/Service-»-Common-params dokumentiert.
Specifies the hostname of the checker for the client to connect to.
default: "127.0.0.1"
Specifies the hostname of the checker for the client to connect to.
default: "8888"
example: java -Dnu.validator.client.port=8080 -jar ~/vnu.jar FILE.html
Specifies the severity level of messages to report; to suppress
warning-level messages, and only show error-level ones, set this property to
"error".
default: [unset]
possible values: "error"
example: java -Dnu.validator.client.level=error -jar ~/vnu.jar FILE.html
Specifies which parser to use.
default: "html"; or, for *.xhtml input files, "xml"
possible values: [see information at URL below]
https://github.com/validator/validator/wiki/Service-%C2%BB-Common-params#parser
Specifies the encoding of the input document.
default: [unset]
Specifies the content-type of the input document.
default: "text/html"; or, for *.xhtml files, "application/xhtml+xml"
Specifies the output format for messages.
default: "gnu"
possible values: [see information at URL below]
https://github.com/validator/validator/wiki/Service-%C2%BB-Common-params#out
Specifies whether ASCII quotation marks are substituted for Unicode smart
quotation marks in messages.
default: "yes"
possible values: "yes" or "no"
Binds the validator service to the specified IP address.
default: 0.0.0.0 [causes the checker to listen on all interfaces]
possible values: The IP address of any network interface
example: -Dnu.validator.servlet.bind-address=127.0.0.1
Specifies the connection timeout.
default: 5000
possible values: number of milliseconds
example: -Dnu.validator.servlet.connection-timeout=5000
Specifies the socket timeout.
default: 5000
possible values: number of milliseconds
example: -Dnu.validator.servlet.socket-timeout=5000
Sie können das Checker-Docker-Image von https://ghcr.io/validator/validator in der GitHub-Container-Registrierung abrufen.
So rufen Sie die neueste Version des Checkers ab und führen sie aus:
docker run -it --rm -p 8888:8888 ghcr.io/validator/validator:latest
So rufen Sie einen bestimmten Tag/eine bestimmte Version des Prüfers aus der Container-Registrierung ab und führen ihn aus – zum Beispiel die Version 17.11.1
:
docker run -it --rm -p 8888:8888 ghcr.io/validator/validator:17.11.1
So binden Sie den Prüfer an eine bestimmte Adresse (anstatt ihn auf allen Schnittstellen abhören zu lassen):
docker run -it --rm -p 128.30.52.73:8888:8888
ghcr.io/validator/validator:latest
Um den Prüfer mit einem anderen Verbindungszeitlimit und Socket-Zeitlimit als den standardmäßigen 5 Sekunden auszuführen, verwenden Sie die Umgebungsvariablen CONNECTION_TIMEOUT_SECONDS
und SOCKET_TIMEOUT_SECONDS
:
docker run -it --rm
-e CONNECTION_TIMEOUT_SECONDS=15
-e SOCKET_TIMEOUT_SECONDS=15
-p 8888:8888
validator/validator
Um die Prüfung mit bestimmten Java-Systemeigenschaften auszuführen, verwenden Sie die Umgebungsvariable JAVA_TOOL_OPTIONS
:
docker run -it --rm
-e JAVA_TOOL_OPTIONS=-Dnu.validator.client.asciiquotes=yes
-p 8888:8888
validator/validator
Um einen Dienst namens vnu
zur Verwendung mit docker compose
zu definieren, erstellen Sie eine Compose-Datei mit dem Namen docker-compose.yml
(z. B.) mit Inhalten wie dem folgenden:
version: '2' services:
vnu:
image: validator/validator ports:
- "8888:8888"
network_mode: "host" #so "localhost" refers to the host machine.
Führen Sie die folgenden Schritte aus, um den Prüfer zu erstellen, zu testen und auszuführen, sodass Sie http://0.0.0.0:8888/
in einem Webbrowser öffnen können, um die Web-Benutzeroberfläche des Prüfers zu verwenden.
Stellen Sie sicher, dass Sie Git, Python und JDK 8 oder höher installiert haben.
Legen Sie die Umgebungsvariable JAVA_HOME
fest:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 <-- Ubuntu usw.
export JAVA_HOME=$(/usr/libexec/java_home) <-- MacOS
Erstellen Sie ein Arbeitsverzeichnis:
Git-Klon https://github.com/validator/validator.git
Wechseln Sie in Ihr Arbeitsverzeichnis:
CD-Validator
Starten Sie das Checker-Python-Skript:
python ./checker.py alle
Wenn Sie das Checker-Python-Skript zum ersten Mal ausführen, müssen Sie online sein und der Build benötigt Zeit, um mehrere Megabyte an Abhängigkeiten herunterzuladen.
Mit den oben genannten Schritten wird der Prüfer erstellt, getestet und ausgeführt, sodass Sie http://0.0.0.0:8888/
in einem Webbrowser öffnen können, um die Web-Benutzeroberfläche des Prüfers zu verwenden.
Warnung: Zukünftige Checker-Versionen werden standardmäßig an die Adresse 127.0.0.1
gebunden. Ihre Checker-Bereitstellung kann möglicherweise nicht mehr erreichbar sein, es sei denn, Sie verwenden die Option --bind-address
um den Checker an eine andere Adresse zu binden:
python ./checker.py --bind-address=128.30.52.73 all
Verwenden Sie python ./checker.py --help
um Befehlszeilenoptionen zum Steuern des Verhaltens des Skripts sowie Build-Zielnamen anzuzeigen, die Sie separat aufrufen können. z.B:
python ./checker.py build # nur zum Erstellen
python ./checker.py build test # zum Erstellen und Testen
python ./checker.py run # nur zum Ausführen
python ./checker.py jar # zum Kompilieren von vnu.jar
python ./checker.py update-shallow &&
python ./checker.py dldeps &&
python ./checker.py jar # um vnu.jar schneller zu kompilieren