Impossible de démarrer une application Tomcat avec Java 9 en raison de l'option par défaut "Java.endorsed.dirs" dans catalina.sh.
-Djava.endorsed.dirs=/usr/local/share/Tomcat/endorsed is not supported. Endorsed standards and standalone APIs in modular form will be supported via the concept of upgradeable modules.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Y at-il un travail autour de cela?
Vous devrez pirater le script bin/catalina.sh
pour que cela fonctionne.
Il y a beaucoup de lignes comme celle-ci dans bin/catalina.sh
:
exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $Java_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$Java_ENDORSED_DIRS" -classpath "$CLASSPATH" \
...
Supprimez simplement la seconde de ces lignes (celle avec -Djava.endorsed.dirs
) dans chaque cas et vous devriez être de retour dans les affaires.
Je cherche à améliorer ces scripts afin que -Djava.endorsed.dirs
ne soit pas fourni à la machine virtuelle Java lorsque la valeur est vide (ce qui devrait être le cas si vous utilisez Java 9).
UPDATE 2017-11-06
On dirait que r1810284 devrait résoudre le problème endorsed.dirs
. Attendez-vous à ce que ce correctif soit inclus dans Tomcat 7.0.83 (ou quelle que soit la version 7.0.x adoptée avec vote).
UPDATE 2018-03-07
La première version officielle d'Apache Tomcat 7.0.x incluant ce correctif est Apache Tomcat 7.0.84, votée stable le 2018-01-24.
Le problème ci-dessus a été résolu avec les versions ultérieures d'Eclipse, mais il est malheureusement réapparu avec la version de Java 10. Voici ma recherche: dans votre question. Mais, au moment où j'ai installé Java 9 et que j'ai pointé mon serveur d'exécution Apache Tomcat, l'erreur a disparu.
-Djava.endorsed.dirs = C:\Program Files\Apache Software Foundation\Tomcat 9.0\endossé n'est pas pris en charge. Les normes approuvées et les API autonomes. Les versions modulaires seront supportées via le concept de modules pouvant être mis à niveau.
Pour résoudre ce problème, vous devez installer/mettre à jour la plate-forme WTP (Eclipse Web Tools Platform) vers la version 3.9.4 ou ultérieure.
Sélectionnez Aide> Installer un nouveau logiciel ... Sélectionnez ou ajoutez l'URL suivante: http://download.Eclipse.org/webtools/repository/oxygen Vérifiez les outils Web (WTP) 3.9.4 Sélectionnez "Suivant" et suivez les instructions
Reconfigurez le Tomcat dans Eclipse.
Dans mon cas, ce que j’ai fait pour résoudre le problème de Tomcat non en cours d’exécution a été de définir Tomcat (version 7) avec une version Java inférieure (par exemple Java 8).
Ensuite, dans startup.sh , shutdown.sh et catalina.sh j'ai ajouté ce qui suit:
export Java_HOME=`/usr/libexec/Java_home -v 1.8`;