maven打包 Error interno en el procesador de mapeo: java.lang.SecurityException: archivo de firma no válido

1. Descripción del problema

mapstruct maven打包 Error interno en el procesador de mapeo: java.lang.SecurityException: archivo de firma no válido

 Internal error in the mapping processor: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes      
 at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:330)          
 at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:263)      
 at java.util.jar.JarVerifier.processEntry(JarVerifier.java:318)      
 at java.util.jar.JarVerifier.update(JarVerifier.java:230)       
 at java.util.jar.JarFile.initializeVerifier(JarFile.java:383)   
 at java.util.jar.JarFile.getInputStream(JarFile.java:450)       
 at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:164)       
 at java.net.URL.openStream(URL.java:1045)       
 at java.util.ServiceLoader.parse(ServiceLoader.java:304)        
 at java.util.ServiceLoader.access$200(ServiceLoader.java:185)   
 at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:357)       
 at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393)         
 at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474)   
 at org.mapstruct.ap.internal.util.AnnotationProcessorContext.initialize(AnnotationProcessorContext.java:132)         
 at org.mapstruct.ap.internal.util.AnnotationProcessorContext.getAccessorNaming(AnnotationProcessorContext.java:244)     
 at org.mapstruct.ap.internal.processor.DefaultModelElementProcessorContext.<init>(DefaultModelElementProcessorContext.java:53)       
 at org.mapstruct.ap.MappingProcessor.processMapperElements(MappingProcessor.java:264)   
 at org.mapstruct.ap.MappingProcessor.process(MappingProcessor.java:166)      
 at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)         
 at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)   
 at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)         
 at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)    
 at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)      
 at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)     
 at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)         
 at com.sun.tools.javac.main.Main.compile(Main.java:523)      
 at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)         
 at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)   
 at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:126)       
 at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:169)      
 at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:785)      
 at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)         
 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)    
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)   
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)      
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)      
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)          
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)      
 at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)     
 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)      
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)      
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)    
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)         
 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)     
 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)      
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)     
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)          
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)        
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     
 at java.lang.reflect.Method.invoke(Method.java:498)     
 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)          
 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)       
 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)        
 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

Dos, la solución

Busqué en Internet y no dijeron nada, porque hay un archivo .SF adicional en META-INF en el paquete jar dependiente que entra en conflicto con el paquete jar actual. No lo estoy en absoluto, primero confirme el problema y localice de acuerdo con el registro escrito. El motivo de mapstruct es que siempre que use las clases @Mapper, informará un error. Comenta todo @Mapper primero y luego mvn install estará bien. Después de trabajar durante mucho tiempo, Descubrí que otros módulos son iguales a este. ¿Por qué no hay problema? Hay un problema con esto. Encontré el problema mirando el archivo jar sin la anotación @Mapper. Se introdujo un archivo ejecutable en el módulo , es decir, un módulo se empaquetó en un jar ejecutable y luego dependió del módulo, lo que dio como resultado el módulo También empaquetado en un paquete jar viable
inserte la descripción de la imagen aquí

Además, el tamaño del jar empaquetado es muy pequeño y los módulos dependientes se pueden resolver cancelando el complemento empaquetado en un paquete jar ejecutable y empaquetándolo en un paquete jar normal.

Supongo que te gusta

Origin blog.csdn.net/mashangzhifu/article/details/122507206
Recomendado
Clasificación