2010-07-15 21 views
8

Me di cuenta de que "a veces" los recursos que pongo en una carpeta fuente en mi proyecto Eclipse no se copiarán en la carpeta de salida ("contenedor") inmediatamente.
P. ej. cambio un archivo de propiedades usando el editor de eclipse y guardo ... y "bin" todavía tiene la versión anterior.¿Cuándo copia Eclipse los recursos a la carpeta de salida?

¿Alguien sabe exactamente qué desencadena la copia (y cómo puedo activar eso desde un complemento)? Pensé que sucedió automáticamente cuando cambia un recurso.

- EDITAR -

Para aclarar lo que quiero decir con activación desde un plugin: Tengo un plugin que depende de los recursos hasta la fecha en la carpeta de salida, pero al parecer los recursos no están actualizados cuando mi plug-in se llama. Y es por eso que necesito entender mejor lo que sucede y cómo puedo forzarlo cuando lo necesito.

Respuesta

2

Ésta es una Bug en casi todas las versiones de Eclipse, ocurre sin ninguna razón . Mi eclipse 3.5.2 y 3.6.2 ambos resuelven este problema en algún día. En mi caso, necesito copiar los archivos fuente .clj clojure modificados al directorio de clases para su uso inmediato en una aplicación web, ahora tengo que configurar/src before/classes en CLASSPATH del script de inicio del servidor de aplicaciones web. Resuelve mi problema temporalmente.

+2

Como nadie puede explicarlo, lo archivaré como "error". Sería genial si pudiéramos encontrar un informe oficial de error de eclipse. – Stroboskop

0

Por lo que yo sé, sucede cuando construyes el proyecto. No necesita un complemento, solo necesita decirle a eclipse que haga una compilación del proyecto.

+1

necesita tener 'compilación automática' marcada en el menú del proyecto para que lo haga por sí mismo. Si lo hace, y aún no lo hace, es posible que deba agregar la carpeta que contiene el archivo a la ruta de compilación. El hecho de que haya dicho que la carpeta de salida contiene la versión "anterior" sugiere que está en la ruta de compilación y se copió allí en algún momento. Pero si acaba de agregarlo, y no hay una versión "antigua", puede que necesite actualizar el proyecto para ver si también se movió en la carpeta de salida –

+0

Eso no es todo. La carpeta de salida se actualiza ocasionalmente. p.ej. cuando hago una limpieza o cuando se lanza el espacio de trabajo. El archivo ha estado en la misma ubicación, se editó usando eclipse y mis fuentes Java en el mismo proyecto se crean y copian automáticamente. – Stroboskop

7

Si no agrega el recurso a través de eclipse (pero, por ejemplo, a través del explorador de Windows), eclipse no notará algunos cambios hasta que actualice su proyecto/carpeta. (haga clic derecho en el explorador packater, por ejemplo).

Después de que se da cuenta de que el cambio va a copiarlo en la carpeta de salida cuando se genera (a menudo esto se hace automáticamente en cambios)

+0

es la parte "a menudo" que me molesta, ya que no ocurre durante la fase de compilación en mi entorno de prueba – Stroboskop

+0

Si está compilando un complemento de Eclipse, puede hacer una actualización desde el plug-in. Eche un vistazo a la interfaz de IProject. –

+0

@Stroboskop: para los proyectos de Java es una configuración en el menú de compilación, que está activado por defecto.Para otros proyectos, depende del tipo de proyecto y del complemento. – Thirler

0

Como dijo @Thirler, si no agrega el recurso a través de Eclipse, es posible que no note los archivos hasta que actualice su proyecto. Sin embargo, si el Refresh/Clean no funciona (en mi caso, no fue así), debe agregar los archivos a la estructura de carpetas IN ECLIPSE.

Simplemente arrastre el archivo desde la carpeta donde está en el sistema de archivos usando Finder/Windows Explorer, colóquelo en la misma carpeta en el Explorador de proyectos de Eclipse (Eclipse solicitará sobrescribir, solo diga sí) y Voila!

EDITAR: Una manera más fácil es simplemente navegar en la carpeta usando el Explorador de proyectos y luego Actualizar (F5).

Cuestiones relacionadas