Pregunta Eclipse: el paquete declarado no coincide con el paquete esperado


Tengo un problema al importar un proyecto externo. Voy Archivo -> Importar ... -> Proyectos existentes en el espacio de trabajo, elijo la carpeta donde se ubica el proyecto y todo se importa - pero los nombres de los paquetes del proyecto no parecen ser lo que Eclipse espera. Todos los nombres de los paquetes tienen un prefijo:

prefix.packagename1
prefix.packagename2

etc.

Pero Eclipse espera

src.prefix1.prefix.packagename1
src.prefix1.prefix.packagename2

etc. porque el directorio es src / prefix1 / prefix / package1

Realmente no quiero perder el tiempo con el código externo. ¿Cómo le digo a Eclipse que ignore el directorio "src / prefix1"? ¿O qué más puedo hacer?


74
2017-10-02 19:31


origen


Respuestas:


Simplemente vaya a la ruta de compilación y la ruta de origen que se va a src/prefix1 en lugar de src.

Puede ser más fácil hacer clic derecho en src directorio y seleccione "Build Path / Remove from build path", luego encuentre el src/prefix1 directorio, haga clic derecho y seleccione "Build Path / Use as source folder".


88
2017-10-02 19:35



Acabo de toparme con este problema, y ​​como la solución del Sr. Skeet no funcionó para mí, voy a compartir cómo resolví este problema.

Resultó que abrí el archivo java bajo 'src' antes de declararlo como un directorio fuente.

Después de hacer clic derecho en el directorio 'src' en eclipse, seleccionando 'compilar ruta' y luego 'Usar como carpeta de origen'

Cerrar y reabrir el ya abrió el archivo java (F5 refrescante no funcionó).

Siempre que la ruta al archivo java desde "prefix1" en adelante se alinee con el paquete en el archivo (ejemplo de la pregunta del solicitante prefix1.prefix.packagename2). Esto debería funcionar

Eclipse ya no debería quejarse de 'src'.


51
2018-01-18 16:27



Mueva sus archivos problem * .java a otra carpeta.

Haga clic en el elemento 'src' y presione "F5".

Las cruces rojas se dissaperarán.

Devuelva sus archivos * .java a "ruta del paquete", haga clic en el elemento 'src' y presione "F5".

Todo debería estar bien.


10
2017-11-18 20:35



Si ha importado un proyecto existente, simplemente elimine sus carpetas de origen y luego agréguelas nuevamente para compilar la ruta y reinicie eclipse. La mayoría de las veces eclipse seguirá mostrando el error hasta que reinicie.


2
2017-09-02 12:33



Obtengo este problema en Eclipse algunas veces cuando importo un proyecto de Android que no tiene un archivo .classpath. El que crea Eclipse no es exactamente el mismo que espera Android. Pero, los archivos .classpath de Android suelen ser todos relativos, así que solo copio un archivo .classpath correcto de otro proyecto sobre el .classpath incorrecto. Creé un video que muestra cómo hago esto: https://www.youtube.com/watch?v=IVIhgeahS1Ynto 


0
2017-12-22 14:28



Supongamos que su proyecto tiene un paquete como package name1.name2.name3.name4  (paquete declarado)

Su paquete explorador muestra
nivel superior del paquete llamado name1.name2
paquetes secundarios llamados name3.name4

Tendrá errores porque Eclipse extrae el nombre del paquete de la estructura del directorio de archivos en el disco comenzando en el punto desde el que importa.

Mi caso fue un poco más complicado, tal vez porque estaba usando un enlace simbólico a una carpeta fuera de mi espacio de trabajo.

Primero probé Build Path.Java Build Path.Source Tab.Link Source Button. Busque en la carpeta antes de name1 en su paquete. Nombre de la carpeta que desee (creo). Pero tenía problemas.

Luego eliminé la carpeta de la ruta de compilación e intenté con Archivo> Importar ...> General> Sistema de archivos> haga clic en Siguiente> Desde directorio> Buscar ... en la carpeta anterior nombre1> haga clic en botón Avanzado> marque Crear enlaces en área de trabajo> haga clic en Finalizar botón.


0
2017-08-18 13:41



Vaya a la carpeta src del proyecto y copie todo el código del mismo a una ubicación temporal y cree el proyecto. Y ahora copie el código real de la ubicación temporal a project src. Y ejecuta la compilación de nuevo. El problema será resuelto

Nota: Esto es específico de eclipse.


0
2018-06-15 12:31