Saltar al contenido

Intellij no reconocerá el código fuente generado por antlr

Solución:

El problema

target/generated-sources/antlr4 no se marca automáticamente como directorio de origen, sino que es su subdirectorio directo com.example es. Intellij Idea no detecta el paquete adecuado para las clases internas target/generated-sources/antlr4/com.example.

La causa

El archivo fuente *.g4 es en src/main/antlr4/com.example, pero en realidad debería ser src/main/antlr4/com/example. Nota la /. Probablemente te olvidaste de marcar src/main/antlr4 como directorio de origen en Idea, y cuando pensaba que estaba creando la estructura del paquete, en realidad acababa de crear un único directorio llamado com.example.

La solución

Marcos src/main/antlr4 como directorio de origen, cree la estructura de directorio adecuada src/main/antlr4/com/example. Reconstruir.

Solución alternativa

Ir a Estructura del proyectoMódulosCarpetas de origen y encuentra el target/generated-sources/antlr4/com.example – clic Editar propiedades y establecer Prefijo de paquete para com.example.


Problema diferente pero relacionado aquí

Resulta que mi manipulación con las preferencias causó este problema. Si alguien más tiene este problema:

Como mencionó v0rl0n, primero asegúrese de que la carpeta gen esté listada como fuente. Ir a Configuración del módulo -> Módulos -> Fuentes.
Mira a la derecha por el azul Carpetas de origen. Asegúrese de que las carpetas de origen generadas estén en la lista (deben tener un [generated] bandera en la fila).

Si su directorio de origen generado aparece en la lista y aún no se reconocen, vaya a Preferencias -> Tipos de archivo. Mira en el Ignorar archivos y carpetas campo. Asegúrese de no tener nada en la lista que coincida con su directorio de fuentes generado.

En mi caso, había agregado objetivo a esta lista, que causó mi problema, y ​​fue un verdadero dolor de encontrar.

Tuve lo que creo que pudo haber sido un problema similar. Soy nuevo en IntelliJ, así que supongo que hasta cierto punto.

¿La carpeta gen de su proyecto es marrón (es decir, un recurso) o azul (código fuente)?

No pude hacer que mi proyecto reconociera el código generado hasta que logré registrar la carpeta gen como una que contiene el código fuente.

Lamento decir que es posible que deba manipularlo, no puedo recordar cómo lo hice, pero todo estuvo bien después de que cambié esto.

¡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 *