2011-01-11 7 views
5

Estoy intentando importar algunos proyectos existentes en Eclipse. Las estructuras de sus paquetes es:Problema en paquetes en la importación en Eclipse

Project/ 
     /src 
      /java 
      /a 
       /b 
       /c 

Una vez importado en el explorador de paquetes que veo:

Project 
    src/java 
     --a 
     --b 
      --c 
       - AClass.java 

Esto está bien, ya que por ejemplo las clases AClass.java se definen en el paquete: a.b.c Pero en un proyecto de la estructura (una vez importada) se convierte en:

Project 
    src 
    --java 
     --a 
      --b 
      --c 
       - AClass.java 

Y eso hace que el error que AClass.java se define en el paquete a.b.c pero es realmente bajo java.a.b.c
¿Por qué sucede esto? ¿Por qué en este proyecto específico java no se ignora como parte del paquete?
Gracias

+0

es este proyecto de maven? –

+0

@ org.life.java: Creo que es – Cratylus

Respuesta

7

¿Cómo está creando los proyectos de Eclipse? Parece que solo debe poner "java" como raíz en la ruta de origen aquí, en lugar de "src". Puede hacerlo editando la ruta de compilación después del proceso de importación, por supuesto.

+0

@JonSkeet: ¿Cómo pongo Java como ruta? No puedo ver cómo hacerlo a través del diálogo de ruta de compilación. Si edito para colocar 'src/java en Java Build Path-> Source', aparece el error" folder src \ java "ya existe – Cratylus

+1

@ user384706: Es posible que deba eliminar" src "primero como root, pero luego bajo el La pestaña "Fuente" debería poder hacer clic en "Agregar" y luego navegar al lugar correcto. No tengo Eclipse en frente de mí en este momento, así que no puedo dar detalles exactos, pero el diálogo Crear ruta es el lugar adecuado para jugar. –

+0

@Jon Skeet tienes razón. @ user384706 es posible que desee crear un directorio fuente, por ejemplo src1, y fuente de enlace. – Nishant

0

llamada el paquete en la parte superior de sus declaraciones de importación,

como si su clase está en java/main/org/meta/Main.java

entonces el camino es el paquete java.main.org .Gol;

más haga Ctrl + 1 y que sugieren una cierta ayuda rápida

importar el paquete necesario de ese

+1

no bajamos, pero creo que estás equivocado. La estructura del proyecto Java, especialmente las de Maven, tienen inicio de ruta de clase desde "/ java/main". El código de la aplicación pasa por 'main' y las clases comienzan desde allí. Por lo tanto, 'java.main.org.goal. *' Es incorrecto, debería ser 'org.goal. *' – Nishant

5

Eliminar las carpetas de origen existentes en primer lugar. -right clic -> Menú -> Vía de construcción -> Eliminar de trayectoria de la estructura

continuación

Haga clic derecho sobre la carpeta de origen. compilar ruta -> usar como carpeta de origen.

Parece que su configuración apunta al padre de la carpeta fuente, por lo que src se reconoce como paquete por eclipse.

Wrong package name when using automatically added imports in Eclipse

+0

@fatih: "Parece que su configuración apunta al padre de la carpeta de origen, así que src". ¿Cómo se configuran/cambian estas configuraciones? – Cratylus

+0

Propiedades del proyecto -> Ruta de compilación -> Pestaña Fuente o similar descrito en el mensaje anterior – fmucar

+0

@fatih: Estos no afectan el sistema de archivos del proyecto, ¿no? – Cratylus

0

Uso esta frase import java.io.*; en la parte superior del archivo de java. De lo contrario, debe crear la carpeta del paquete.

declaraciones de importación:

En Java, si un nombre completo, que incluye el paquete y el nombre de la clase, se da a continuación, el compilador puede localizar fácilmente el código fuente o clases. La instrucción de importación es una forma de dar la ubicación adecuada para que el compilador encuentre esa clase en particular.

Por ejemplo, la siguiente línea pediría compilador para cargar todas las clases disponibles en el directorio java_installation/java/io:

import java.io.*;

Cuestiones relacionadas