intellij idea - precios - El nombre del paquete no corresponde a la ruta del archivo-IntelliJ
intellij idea ultimate cost (9)
A juzgar por la estructura del directorio, tiene dos paquetes cliente y servidor, pero el código espera los paquetes badugi.client y badugi.server.
Aquí hay una manera de solucionarlo:
- Coloque su cursor en la declaración del paquete subrayado (
package badugi.server
) - Presiona ALT + ENTRAR
- Seleccione la opción Mover al paquete badugi.server . Esto corregirá automáticamente su estructura de directorio para que coincida con el paquete declarado
o
- Haga clic derecho en src en Project explorer
- Seleccione Nuevo / Paquete y cree el paquete badugi
- Seleccione paquetes de cliente y servidor y arrástrelos al paquete badugi
Estoy tratando de importar un proyecto de VCS (bueno, lo estoy haciendo por primera vez en realidad) y esta es la estructura de mi proyecto (importado):
Por cierto. esta pantalla se realiza después de muchos intentos de cambiar las propiedades de estos directorios (en sus menús contextuales).
En estos archivos fuente ''Tengo un siguiente error:
Una vez no tenía nada en contra de badugi.client
pero reportó este error solo en badugi.server
. No tengo ni idea de cómo funciona ...
Además, las clases en los mismos directorios no se ven entre sí.
Este es un código de la clase ClientWorker
que se encuentra (como puede ver en la primera imagen) en el mismo directorio que Server
por lo que debe saber qué es el Server
.
Estoy bastante seguro de que este código funcionó bien en el IDE de mi amigo. ¿Cómo configuro IntelliJ para que funcione?
Agregue esto a pom.xml
(dentro de la etiqueta del project
)
<build>
<sourceDirectory>src/main/java</sourceDirectory>
</build>
src/main/java
es la carpeta de origen que desea establecer. Si ya tiene esta línea en su archivo pom.xml
, verifique si es correcta.
Debe declarar en la estructura del Proyecto (Ctrl + Alt + Shift + s) en la sección Módulo marcar sus carpetas, cuáles de ellos son paquete fuente (azul) y cuáles son de prueba ...
Es posible decirle a Intellij que ignore este error.
File> Settings> Editor> Inspections, luego busque "Wrong package statement" (En Java, Probable Bugs) a la derecha y desmárquelo.
Solo estaba luchando con un problema similar. Mi manera de resolverlo fue establecer el archivo fuente raíz para el módulo Intellij para que coincida con la carpeta raíz del proyecto original. Luego necesité marcar algunas carpetas como Excluidas en el panel de navegación del proyecto (la que no debería usarse en un proyecto nuevo, para mí fue parte utilizada en Android). Eso es todo.
Tal vez alguien encuentre una advertencia similar que tuve con un proyecto de Scala.
Los nombres de los paquetes no corresponden a la estructura de los directorios, esto puede causar problemas con la resolución de las clases desde este archivo. Inspección de los archivos con la declaración del paquete que no se corresponde con la estructura del paquete.
El archivo estaba en la ubicación correcta, por lo que las soluciones de ayuda que proporciona IDE no son útiles El archivo Move dice que el archivo ya existe (que es verdadero) y Renombrar paquete realmente lo movería al paquete incorrecto.
El problema es que si tiene objetos Scala, debe asegurarse de que el primer objeto del archivo tenga el mismo nombre que el nombre del archivo, de modo que la solución es mover los objetos dentro del archivo.
También he visto este error varias veces, y siempre he podido resolverlo identificando correctamente la configuración del módulo del proyecto. En IntelliJ, haga clic derecho en el proyecto de nivel superior -> "Abrir configuración del módulo". Esto debería abrir una ventana con toda la estructura del proyecto y el contenido identificado como "Carpetas de origen", "Carpetas de origen de prueba", etc. Asegúrese de que estén configuradas correctamente. Para las "Carpetas de origen", asegúrese de que la carpeta sea su src / or src / java (o el idioma de origen que sea), según sea el caso.
Tuve este mismo problema y lo solucioné modificando el archivo .iml de mi proyecto:
De:
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/wrong/entry/here" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
A:
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
De alguna manera, una carpeta de paquete se especificó como el directorio raíz cuando se importó este proyecto.
Tuve los mismos problemas debido a archivos intellij corruptos o quizás obsoletos. Antes de actualizar a 14.0.2 tuve un proyecto perfectamente funcional con paquetes CORRECTAMENTE nombrados y jerarquías de archivos.
Después de la actualización, las compilaciones de maven funcionaron sin problemas, pero Intellij informaba el error mencionado en un paquete específico (otros paquetes con características similares no se vieron afectados).
No me molesté en investigar mucho más, pero borré mis archivos .iml y .idea, invalidé cachés, reinicié el IDE y volví a abrir el proyecto , confiando en mi configuración de maven.
NOTA: ¡Esto borra de manera efectiva las configuraciones de ejecución y depuración!
¿Tal vez alguien que entienda los archivos del espacio de trabajo intellij podría comentar sobre esto?
Otro comentario para quienes investigan esto más a fondo: la refactoración en proyectos administrados de SC puede dejar atrás el polvo: tengo una carpeta "vieja" que tiene repeticiones de la estructura actual del paquete. Si los archivos .iml o .idea tienen alguna referencia a estos paquetes, es probable que intellij se confunda con referencias a paquetes antiguos. Buena suerte, compañeros StackExchangers.
Actualización: borré algunos archivos en un proyecto maven referenciado y la peculiaridad ha regresado. Por lo tanto, mi publicación de ninguna manera es una respuesta final.