Mientras ejecuto mvn install en mi proyecto, termino con este error. Si bien muchas respuestas y recursos señalan errores en /
contra \
, quiero mencionar que no tengo cambios locales y este repositorio funciona bien para otros miembros de mi equipo. A mí también me funcionó bien antes.
Ejecutándose en Mac Os 10.15.7 con JDK 1.8.0_291
Encuentre el stacktrace completo:
java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
at java.util.Properties.loadConvert (Properties.java:672)
at java.util.Properties.load0 (Properties.java:455)
at java.util.Properties.load (Properties.java:408)
at org.eclipse.aether.internal.impl.TrackingFileManager.read (TrackingFileManager.java:56)
at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.read (DefaultUpdateCheckManager.java:511)
at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkMetadata (DefaultUpdateCheckManager.java:250)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve (DefaultMetadataResolver.java:302)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetadata (DefaultMetadataResolver.java:181)
at org.apache.maven.repository.internal.DefaultVersionRangeResolver.getVersions (DefaultVersionRangeResolver.java:198)
at org.apache.maven.repository.internal.DefaultVersionRangeResolver.resolveVersionRange (DefaultVersionRangeResolver.java:148)
at org.apache.maven.repository.internal.DefaultModelResolver.resolveModel (DefaultModelResolver.java:197)
at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally (DefaultModelBuilder.java:1070)
at org.apache.maven.model.building.DefaultModelBuilder.readParent (DefaultModelBuilder.java:846)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:337)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.java:292)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.java:171)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.java:538)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.java:523)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:410)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.java:254)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.java:284)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:169)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:243)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:202)
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 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:78)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:567)
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)
[ERROR]
Ya he probado lo siguiente:
- Java reinstalado en mi mac
- experto reinstalado
- Intenté invalidar el caché y reiniciar IntelliJ varias veces.
Roy van Santen
Para mí resultó ser una dependencia corrupta también.
No quería pasar por el proceso de configuración del depurador, así que decidí buscar archivos que contuvieran \u0000
en mi ~/.m2
directorio ejecutando:
grep -rnw ~/.m2 -e '\u0000'
después de eso, obtendrá los archivos que están dañados, elimínelos y luego construya el maven.
Tenga en cuenta que debe especificar la carpeta de su repositorio si la configuró de manera diferente a la predeterminada. Lee tu ~/.m2/settings.xml
y usa el valor de localRepository
en cambio. P.ej:
<settings>
<localRepository>/else/where</localRepository>
usar:
grep -rnw /else/where -e '\u0000'
y si desea que se eliminen todos estos archivos, canalice los nombres de archivo a xargs rm
:
grep -lrnw /else/where -e '\u0000' | xargs rm
-
Esto es lo que funcionó para mí. En macOS, ejecuté “grep -r -e ‘\u0000’ ~/.m2” y arrojó el resolver-ststus.properties correcto que, después de eliminar la dependencia, fue reemplazado por uno correcto y todo funcionó.
– Jubz
24 de septiembre de 2021 a las 10:09
-
necesito repasar
grep
opciones Esto es más conciso que lo que hice:find ~/.m2 -name "resolver-status.properties" -print -exec grep "u0" {} \;
– triple.vee
13 de diciembre de 2021 a las 3:30
-
salvó mi día ¡Gracias por el consejo!
– Beethoven
1 abr a las 12:37
-
Para mí fue uno de los archivos _remote.repositories que estaba roto
– mvmn
29 abr a las 12:41
-
en caso de que las personas tengan problemas en Windows, puede ejecutar este comando dentro del directorio .m2
FINDSTR /S /M "u0" resolver-status.properties
para encontrar archivos dañados.– Manish Bansal
9 jun a las 10:24
Para encontrar qué archivo tiene un formato incorrecto (para no tener que eliminar todo el repositorio de Maven), puede depurarlo así:
- Agregue un punto de interrupción a la línea relevante en
java.util.Properties
(como se detalla en el seguimiento de la pila de errores) y luego ejecute cualquier acción de Maven en modo de depuración.
- Cuando el código llegue a ese punto de interrupción, busque y seleccione
TrackingFileManager.read(File)
en la pila de llamadas.
- Ahora encuentre la ruta del archivo que causó el problema.
- De hecho, el archivo tiene un formato incorrecto… Elimine el archivo (y Maven lo volverá a descargar durante la siguiente acción).
- El archivo correcto (después de haber sido borrado y vuelto a descargar):
-
Esta es realmente una gran respuesta con los detalles paso a paso para encontrar el archivo exacto. El paso 1 (agregar un punto de interrupción en IntelliJ y usarlo con maven) se puede configurar usando lo siguiente: spin.atomicobject.com/2020/08/20/maven-debugging-intellij
– fantasma
7 oct 2021 a las 7:30
-
No funciona si ha compilado dependencias.
– Codificador empañado
19 oct 2021 a las 17:05
aleksey poletaev
En mi caso, el problema estaba en la biblioteca de terceros, los caracteres incorrectos de alguna manera se guardaron en el resolver-status.properties archivo (ejemplo de línea incorrecta: maven-metadata-nexus-releases.xml.lastUpda\u0000\u0000\....
) que se encuentra debajo de la ~/.m2/repository/path-to-the-library
. Simplemente eliminó la carpeta con la biblioteca y reconstruyó el proyecto.
-
¿Cómo se corrompen estos archivos? ¿Es un error con mvn o estoy abusando de mvn de una manera que no debería usarse?
– Joseph
22 oct 2021 a las 13:43
-
Tengo este problema una y otra vez!
– Boris Brodsky
28 de octubre de 2021 a las 5:28
-
Parece ser un error en Maven 3.8.1. El problema reapareció una y otra vez incluso después de eliminar las bibliotecas del repositorio local de Maven. Actualizar a la última versión de Maven 3.8.3 y reconstruir con esa versión solucionó el problema.
– Madjosz
3 de noviembre de 2021 a las 10:19
Eliminé todos los artefactos de mi directorio ~/.m2 y volví a ejecutar mvn build. ¡Esta vez, la compilación tuvo éxito!
Rafi
En realidad, la mayoría de esas respuestas son correctas, pero un poco incompletas. Aparece el mensaje porque resolver-status.properties
los archivos se corrompen y contienen \u0000 como se muestra en la respuesta de micycle. A veces ayuda eliminar archivos dañados y volver a ejecutar el comando maven. A veces el problema desaparece ya veces no. Surge la pregunta POR QUÉ esos archivos se corrompen. Bueno, parece que maven contiene un error en resolver: https://issues.apache.org/jira/browse/MRESOLVER-216
Parece que la sincronización de varios subprocesos responsables de resolver las dependencias está rota y, en algunas condiciones, varios subprocesos resuelven el mismo artefacto y se rompen. resolver-status.properties
como lo muestra miciclo.
En caso de que su compilación aún no se complete con éxito a pesar de eliminar los archivos rotos, es posible que desee limitar los subprocesos de resolución a uno. Para hacer eso, use la propiedad JVM:
-Daether.metadataResolver.threads=1
Si está utilizando IntelliJ Idea use Settings->Build,Execution,Deployment->Maven->Runner
campo VMOptions
:
Después de hacer este cambio, recuerde eliminar los archivos rotos (o completos). .m2
directorio) porque una vez que los archivos se corrompen, no se repararán. Luego vuelva a ejecutar su compilación Maven.
-
Para mí fue uno de los archivos _remote.repositories que estaba roto
– mvmn
29 abr a las 12:42
patel
eliminar la carpeta .m2 y volver a instalar la dependencia funcionó para mí.
-
Para mí fue uno de los archivos _remote.repositories que estaba roto
– mvmn
29 abr a las 12:42
kamdzi
El problema es probable en una de sus dependencias (igual que lo sugerido por Alexey). Para mí, el problema era encontrar la dependencia correcta que corrompió resolver-status.properties. Lo que ayudó fue ejecutar mvn clean install en modo de depuración (usando la depuración de configuración de Intellig) y colocar el punto final en Properties.java (la línea exacta debe estar en un seguimiento de pila cuando se ejecuta con la opción -e o -X). En la depuración, puede encontrar fácilmente qué dependencia está dañada y eliminar solo esta dependencia en lugar de todo el catálogo .m2
Tengo problemas similares. Se revirtieron todos los cambios locales y aún se obtuvo el problema. Trabajé más temprano hoy y estoy bastante seguro de que no he tenido ninguna actualización.
– Sebastián L.
16 de junio de 2021 a las 14:33
@SebastianL Encuentre mi respuesta, funcionó para mí
– Shylajhaa
16 de junio de 2021 a las 16:24