[JAVA] Que faire si une exception ClassNotFoundException se produit lors du démarrage de Tomcat

--Environnement - CentOS Linux release 7.6.1810 (Core) - Eclipse 2019-03 (4.11.0) - Java1.6.0_41 - Apache Maven 3.2.5

Événement: je me suis mis en colère lorsque j'ai lancé Tomcat dans Eclipse

[Consol]Journal des onglets


information: Initializing Spring root WebApplicationContext
2020-04-17 10:32:34.216 ERROR                                   Jotm.<init>:144 - Instanciation of TransactionFactory failed
java.rmi.StubNotFoundException: Stub class not found: org.objectweb.jotm.TransactionFactoryImpl_Stub; nested exception is: 
    java.lang.ClassNotFoundException: org.objectweb.jotm.TransactionFactoryImpl_Stub
...réduction...
    at org.objectweb.jotm.Jotm.<init>(Jotm.java:140) ~[jotm-2.0.10.jar:"2.0.9"]
    at org.springframework.transaction.jta.JotmFactoryBean.<init>(JotmFactoryBean.java:95) ~[spring-dao-2.0.8.jar:2.0.8]
...réduction...
Caused by: java.lang.ClassNotFoundException: org.objectweb.jotm.TransactionFactoryImpl_Stub
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1698) ~[catalina.jar:6.0.53]
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1544) ~[catalina.jar:6.0.53]
    at java.lang.Class.forName0(Native Method) ~[na:1.6.0_41]
    at java.lang.Class.forName(Class.java:274) ~[na:1.6.0_41]
    at sun.rmi.server.Util.createStub(Util.java:286) ~[na:1.6.0_41]
    ... 85 common frames omitted

Bien qu'il soit affiché comme jotm-2.0.10.jar dans le journal, je me demandais parce que la définition dans pom.xml du projet est jotm-2.1.1.pom.

Projet pom.xml


<dependency>
  <groupId>org.ow2.jotm</groupId>
  <artifactId>jotm</artifactId>
  <version>2.1.1</version>
  <type>pom</type>
  <exclusions>
...réduction...
</dependency>
...réduction...
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-dao</artifactId>
    <version>2.0.8</version>
</dependency>
...réduction...

Il y a spring-dao-2.0.8.jar sous jotm-2.0.10.jar dans le journal, donc quand je regarde spring-dao-2.0.8.pom, il dit "Il y en avait!"

bash:spring-dao-2.0.8.Jetez un oeil à pom


$ cat ~/.m2/repository/org/springframework/2.0.8/spring-dao-2.0.8.pom
...réduction...
<dependency>
  <groupId>jotm</groupId>
  <artifactId>jotm</artifactId>
  <version>2.0.10</version>
  <optional>true</optional>
</dependency>
...réduction...

Cause: il n'y a pas de classe au-delà de la dépendance jar définie dans le fichier pom.xml du projet

Utilisé par spring-dao-2.0.8.pom Utilisé par jotm-2.0.10.jar ʻorg.objectweb.jotm.TransactionFactoryImpl_Stub` est manquant

Solution de contournement: définissez un fichier jar dans pom.xml qui contient la classe à la fin de la dépendance

  1. Utilisez JAR Search --findJAR.com pour savoir quel fichier contient ʻorg.objectweb.jotm.TransactionFactoryImpl_Stub`.
  2. Recherchez Maven Repository: Search / Browse / Explore pour jotm-jrmp-stubs trouvé par la recherche.
  3. Ajoutez la définition au pom.xml du projet

Projet pom.xml


...réduction...
<dependency>
    <groupId>jotm</groupId>
    <artifactId>jotm_jrmp_stubs</artifactId>
    <version>2.0.10</version>
</dependency>
...réduction...

Recommended Posts

Que faire si une exception ClassNotFoundException se produit lors du démarrage de Tomcat
Que faire lorsqu'une exception javax.batch.operations.JobStartException se produit
Que faire lorsqu'une exception javax.el.PropertyNotWritableException se produit
Que faire si le serveur Tomcat meurt
Que faire si IllegalStateException se produit dans PlayFramework
Que faire si une erreur se produit lorsque nokogiri entre lors de l'installation du bundle
Que faire si le processus Tomcat reste lorsque vous arrêtez Tomcat dans Eclipse
Remarques sur la marche à suivre lorsqu'une exception WebView ClassNotFoundException se produit dans JavaFX 12
Que faire si une erreur ActionController :: UnknownFormat se produit
Erreur ExecJS :: RuntimeUnavailable: que faire quand cela se produit
Que faire si une erreur d'analyseur SAX se produit lors de l'utilisation de Liferay 7 / DXP sur AWS
Que faire lorsque la méthode non définie ʻuser_signed_in? '
il ne reste plus d'espace sur l'appareil Que faire en cas d'erreur
Que faire si vous transmettez des informations incorrectes
Que faire si l'archétype mvn: générer échoue
Que faire lors du débogage "Source non trouvée"
Qu'utilisez-vous lors de la conversion en String?
wildflly10 java8 ERROR [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl] (récupération périodique) IJ000906 Que faire en cas d'erreur
Que faire si l'installation de ffi échoue lors du lancement d'une application dans Rails
Que faire si l'installation du gem de débogage échoue
Que faire si le serveur Rails ne peut pas démarrer
Que faire lorsque les balises JSF ne deviennent pas HTML
Que faire si le serveur rails ne peut pas être arrêté
Que faire si TextToSpeech ne fonctionne pas sur Android 11
Que faire si vous créez accidentellement un modèle
ParseException: que faire lorsqu'une date impossible à analyser est atteinte
BasicDataSourceFactory est ClassNotFoundException lors de la connexion à DB dans Tomcat 8
Que faire si vous obtenez une erreur NoClassDefFoundError lorsque vous essayez d'exécuter eclipse sur Java 9
Que faire si le message d'erreur "Impossible de trouver un moteur d'exécution JavaScript" s'affiche lors du démarrage du serveur rails
Que faire quand il devient impossible de trouver CDI BeanManager.
Que faire lorsque la méthode n'est pas trouvée dans f: ajax
Que faire si FacesMessage est défini mais pas affiché
Que faire lorsque vous ne pouvez pas appliquer d'opérateurs d'expression à la liaison de méthode
[Opensaml] NoClassDefFoundError se produit lors du passage de Tomcat à weblogic
Que faire si la commande adb ne peut pas être exécutée
Que faire si mysql2 obtient une erreur d'installation de bundle
Que faire si la commande rails devient inutilisable
[Rails 6] Que faire lorsqu'une erreur de modèle manquante se produit après l'introduction du haml [Super facile]
[Ubuntu 20.04] Que faire si le moniteur externe n'est pas reconnu
Que faire si vous obtenez une erreur gcc dans Docker
Que faire lorsque la validation ne fonctionne pas avec l'action de mise à jour
Que faire si vous vous déconnectez en raison d'une erreur de certificat SSL lors de l'exécution de Jenkins sur votre Mac
[Spring Boot] Que faire si une exception HttpMediaTypeNotAcceptableException se produit sur un point de terminaison pour lequel produit est défini
[Rails] Que faire si les données ne sont pas enregistrées dans la base de données
Pour éviter les erreurs lors du démarrage de miChecker
Que faire lorsque les modifications du servlet ne sont pas reflétées
Que faire si la page Rails n'est pas affichée dans le didacticiel Rails 1.3.2
Que faire lorsque Cloud 9 est plein dans le didacticiel Rails
Remarques sur la marche à suivre si le Jar de dépendance Eclipse Maven est incorrect