2010-12-22 13 views
23

Tengo varios proyectos Maven convertidos en un espacio de trabajo de Eclipse. Cuando edito el código en Eclipse, a veces uso CTRL + SHIFT + M combinación de teclas para agregar automáticamente importaciones a las clases de un proyecto en mi área de trabajo. Pero de alguna manera se añaden como esto:Nombre incorrecto del paquete al usar importaciones automáticamente agregadas en Eclipse

import src.main.java.com.mycompany; 

mientras que el paquete de bienes que quería importar es com.mycompany. Esto tiene que ser alguna configuración en Eclipse para solucionar esto, pero estoy confundido. Sin embargo, este problema es muy molesto.

EDIT:

se me ha olvidado mencionar que los archivos de Eclipse se generaron utilizando mvn eclipse:eclipse comando.

El proyecto de Eclipse parece estar configurado correctamente. Sus carpetas de origen establecen del modo siguiente:

  • src/test/java
  • src/test/recursos
  • src/main/java
  • src/main/resources

Y todo en Eclipse funciona correctamente, excepto la situación cuando presiono CTRL + SHIFT + M clave s

+1

Como nota al margen, hay un plugin de Eclipse para el manejo de proyectos Maven nombrados m2eclipse. – Powerlord

Respuesta

38

La carpeta de origen estándar para proyectos Java es

./src 

Para proyectos de Maven importados, basta con quitar esta carpeta de la lista de carpetas de origen en los settigs trayectoria de la estructura. La carpeta de origen correcta es

./src/main/java 
+0

Funciona muy bien, tuve/src/main/java y otra senda marcada como carpetas de origen. Solo una entrada (con la ruta de la carpeta principal del proyecto) fue incorrecta. ¡Gracias! – Lukasz

+0

¡Gracias! Ahorré mi tiempo. – Sumod

4

Es porque eclipse no conoce la convención sobre la configuración estructura de archivos que está siguiendo Maven. Instale el complemento M2Eclipse y File > New > Other > Maven Project para proyectos nuevos o para los existentes, haga clic derecho en su proyecto importado en Package Explorer>Maven > Enable Dependency Management. Una vez terminado con éxito, en el Explorador de paquetes que se vería muy bien su proyecto se reunieron después de la filestructure conventonal Maven como src/main/java, src/main/resources, src/test/java ya partir de entonces usted comenzará a ver la jerarquía de la estructura de paquete como com.mysite.myproject..

+0

Tengo M2Eclipse instalado y todo mi proyecto tiene activado "Habilitar la administración de dependencias". – Lukasz

+0

como bmargulies y Andreas_D han señalado intenta configurar lo que es carpeta de origen y lo que no es haciendo clic derecho> Java Build Path> pestaña Fuente – dimitrisli

+1

@Likasz - Si está utilizando M2Eclipse, simplemente haciendo una importación como Maven proyecto debe configurar todo correctamente. Si no ve una M sobre su proyecto en el explorador de paquetes, esto no está configurado correctamente. Si este es el caso, haga clic derecho en el proyecto y seleccione Maven-> Actualizar configuración del proyecto. – Robin

0

Tienes el carpetas de origen incorrectas en su ruta de compilación, y es una maravilla que nada funcione en absoluto.

Puede usar ya sea maven-eclipse-plugin o M2Eclipse para automatizar este proceso, o puede arreglar manualmente la ruta de compilación para llamar a nuestras carpetas de origen, no a sus bisabuelos.

15

In eclipse;

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

continuación

Haga clic derecho sobre la carpeta de origen. ruta de compilación -> usar como carpeta de origen.

parece que su configuración están apuntando a los padres de la carpeta de origen de manera src es reconocido como paquete por el eclipse.

+0

¡Funcionó! ¡¡Gracias!! – Khushboo

+0

Gracias. Simple pero poderoso! – venBigData

2

Primera retirarla. A continuación, añadir de nuevo usando el clic derecho en paquete-> construir camino-> Configurar construir camino-> Fuente-> Añadir carpeta y agregar el árbol entero/src/main/java

+1

Gracias, ya lo resolvió :) – Lukasz

0

no de lo anterior trabajó para mí. Finalmente, simplemente cambié el nombre de la carpeta scr a scr-java y esto eliminó la estructura del paquete con scr como paquete raíz.

Cuestiones relacionadas