Saltar al contenido

La fuente de la biblioteca no coincide con el código de bytes de la clase

Recuerda que en las ciencias cualquier problema casi siempre tiene varias resoluciones, así que nosotros aquí te mostraremos la mejor y más óptimo.

Solución:

Tuve el mismo problema: hice un limpio desde la línea de comandos, luego entró en Android Studio e hizo un Archivo -> Invalidar cachés y reiniciar y todo volvió a estar bien..

No hay nada de malo con IDEA, ni con sus dependencias o cachés expertos locales, está identificando correctamente la falta de coincidencia.

Así es como se comprueba:

  • Abrir clase en cuestión
  • Haga clic en “Mostrar diferencia”
  • Elija “Ignorar espacios en blanco y líneas vacías”

captura de pantalla diferente

Puede ver claramente (ignorando JavaDoc y FQCN) que el archivo de clase tiene controles adicionales incluidos para el @NonNull argumentos anotados. La importación dice lombok.NonNully la documentación muestra que esta transformación sucederá.

Supongo que el mejor curso de acción es ignorar esta advertencia o pedir a los mantenedores del proyecto que construyan el archivo sources.jar a partir del código fuente procesado por lombok, si eso es posible. Creo que necesitarán emplear delomboking y este complemento Maven, pero nunca construí el código lombok yo mismo.

Para resolver esto, no tuve necesidad de perder el tiempo con Maven, y traté solo con IntelliJ IDEA.

Para mí, este problema surgió de la confusión entre tres conceptos en IntelliJ IDEA: módulos, bibliotecas y dependencias. Tenía diferentes proyectos, usando diferentes paquetes, algunos de los cuales se referían entre sí de manera inconsistente. También estaba siendo inconsistente acerca de cómo referirme a los paquetes de terceros descargados.

Fue fácil una vez que distinguí los tres conceptos de módulos, bibliotecas y dependencias. Cómo las aclaré en mi mente:

1) bibliotecas se refieren al código (compilado o no) que no va a cambiar.

2) Módulos consulte partes del proyecto (suyas si está trabajando solo) donde el código está sujeto a cambios.

3) un dependencia (para esta conversación) es una biblioteca u otro módulo que utilizará un módulo en particular.

Recibí el error al agregar el código de un proyecto en curso, que fue creado originalmente por otro IDE, como una dependencia en IntelliJ IDEA. En teoría, esto debería funcionar, y lo hace, pero al igual que usted, ¡no puedo ignorar una gran pancarta roja en la parte superior de mi entorno de desarrollo!

Para resolver el problema:

Módulos
Abra Archivo>Estructura del proyecto>Módulos, y usando el signo más verde superior izquierdo (no el de la derecha) agregó otros proyectos donde es probable que cambie el código. Esto los hace ‘vivos’ para IntelliJ, y no una biblioteca inmutable vieja y polvorienta que, si se cambia, podría hacer que la bandera de alarma le grite. En esta etapa, solo use el panel grande que ocupa la mayor parte del diálogo para verificar los archivos jar importados, el código fuente, etc., para verificar que haya llegado lo que desea.

Agregar un módulo

bibliotecas
Abra Archivo>Estructura del proyecto>Bibliotecas, y nuevamente usando el signo más verde superior izquierdo, agregue la carpeta que contiene el código que no cambiará. El otro signo más verde a la derecha le permite agregar carpetas internas a una biblioteca ya agregada, pero IntelliJ es bueno para encontrarlas en diferentes estructuras de proyectos, así que considere comenzar desde cero agregando una nueva biblioteca, en lugar de agregar carpetas específicas que cree. faltan y causan que existan múltiples copias, otra cosa que causa confusión (comprensiblemente) a IntelliJ.

Agregar una biblioteca

dependencias
Ahora todo debería estar listo para que regrese a Archivo>Estructura del proyecto>Módulos. Esta vez vaya al panel grande que ocupa la mayor parte del diálogo y cambie a la pestaña ‘Dependencias’. Mi forma preferida de trabajar en esta etapa (particularmente cuando el proyecto es grande y complejo) es avanzar hacia abajo en los módulos enumerados, agregando las bibliotecas y las dependencias de módulos para cada módulo a medida que avanzo. Esta vez para cada módulo use el signo más verde a la derecha para agregar cada biblioteca o módulo que necesite, y estos se le deben ofrecer a partir de los agregados en el último paso.

ingrese la descripción de la imagen aquí

ADVERTENCIA
Hay dos pasos importantes con lo cual debes tener cuidado al terminar el proceso:

1. Asegúrate de eso cada dependencia agregaste para cada módulo tiene alcance ‘Compilar’ en la pestaña de dependencias.

2. Cuando haya terminado, haga clic en el Aplicar botón en la parte inferior del cuadro de diálogo Estructuras del proyecto antes de haciendo clic en Aceptar. Parece que debería ser automático, como muchas otras cosas en IntelliJ, pero no creo que lo sea. Perdí los cambios que hice en la estructura del proyecto al no hacer clic en Aplicar antes de salir del cuadro de diálogo.

Si para ti ha resultado de ayuda nuestro artículo, sería de mucha ayuda si lo compartieras con otros entusiastas de la programación de este modo nos ayudas a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *