Directorio de artículos
1. Antecedentes
Hoy, cuando comencé un proyecto anterior en un nuevo dispositivo, descubrí que no se podía iniciar y se informó un error
java.lang.NoClassDefFoundError : javax/xml/soap/SOAPException
2. Motivo
Busqué en Internet, y la razón aproximada es que el equipo actual usa el relativamente nuevo JDK 11, java.xml.soap.SOAPException
pero las clases en JDK8. Se eliminó en JDK9 y versiones posteriores, por lo que provocó un error.
3. Soluciones
Afortunadamente, todavía hay una solución. El equipo de desarrollo de JDK tiene que llenar el agujero después de excavarlo.
Podemos introducir manualmente esta dependencia.
<dependency>
<groupId>javax.xml.soap</groupId>
<artifactId>javax.xml.soap-api</artifactId>
<version>1.4.0</version>
</dependency>
Sin embargo, si solo se introduce esta dependencia, el proyecto de inicio informará un error
javax.xml.soap.SOAPException: Unable to create SAAJ meta-factory: Provider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
En este momento, también necesitamos introducir una segunda dependencia
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>1.5.1</version>
</dependency>
Recuerde actualizar maven ~
Después de esto, reinicie y comience, está bien ~
4. Referencias
https://www.likecs.com/ask-465155.html
https://stackoverflow.com/questions/48626824/java-lang-noclassdeffounderror-javax-xml-soap-soapexception