2011-04-17 13 views
7

Esta función refactorización de Eclipse para nombres de los paquetes que se utilizan para trabajar para mí ... bien hasta hoy:excepción ha sido capturado durante el procesamiento de la refactorización 'Cambiar el nombre de paquete'

Esta es la primera vez que estoy recibiendo este Refactoring raro error, y no tengo ni idea de qué hacer con él:

Una excepción ha sido capturado mientras procesar la refactorización 'Renombrar paquete'.

Motivo: Se han encontrado problemas al mover recursos.

Haga clic en 'Deshacer' para deshacer todos los cambios realizados con éxito refactorizando. Haga clic en "Anular" para cancelar la refactorización actual.

¿Qué podría explicar este repentino "cambio de opinión" y cómo lo soluciono?

enter image description here

+1

Quizás algo sobre su proyecto esté dañado. ¿Has intentado apagar Eclipse, iniciarlo e intentarlo de nuevo? –

+0

@ nicholas.hauschild Sí, intenté apagar Eclipse y comenzarlo, incluso antes de publicar mi solicitud de ayuda. Estoy totalmente desconcertado por este comportamiento impredecible de una de las mejores herramientas en el planeta Tierra. Incluso intenté limpiar todo el proyecto y construirlo, pero fue en vano. ¡Lo curioso es que el proyecto se construye y funciona a la perfección! Es solo refactorización de ** nombre de paquete ** que dejó de funcionar por alguna razón. Esto es extraño. Gracias y + 1 por su intento de ayudar. –

+0

Tuviste suerte. En lugar de abortar, tengo un botón Detalles en Eclipse Mars (4.5.1), por lo que solo se realizaron algunos cambios y mi proyecto se rompe. –

Respuesta

5

parecer, de la instantánea que está ejecutando Windows 7, puede que Vista. Si no es un problema de cambio de nombre, intente ejecutar eclipse como administrador. Puede estar relacionado con permisos, pero es solo un pensamiento.

Veo el mérito detrás de lo que está diciendo Kurru. Windows no es un sistema operativo sensible a mayúsculas y minúsculas, lo que significa que las palabras Cat y cat son lo mismo.Cuando cambia el nombre de su paquete, Eclipse crea nuevos directorios/carpeta para colocar el paquete. Si cambió el caso de sus palabras y no cambió el nombre, podría arrojar este error.

+0

Gracias también (y +1) por sus ideas. Sí, es Windows 7 de 64 bits, pero los nombres de los paquetes de refactorización solían funcionar perfectamente. (hasta ahora). Confío en lo que dice @ Thorbjørn Ravn Andersen, pero volver a instalar Eclipse o señalar un nuevo espacio de trabajo no es una solución correcta en mi humilde opinión, incluso si hace que el problema "desaparezca". –

+2

¡Resolví el problema! Resulta que un archivo .java (solo) se renombró recientemente de una manera que creó el mismo tipo de alias que Kurru y que estaba describiendo. Tuve que apagar Eclipse, renombrar el archivo manualmente para que coincida con las reglas de Java para encontrar el nombre del archivo con la clase, luego todo comenzó a funcionar como siempre. Solo puedo aceptar una respuesta. :) –

4

En Windows esto es causada frecuentemente por un archivo o directorio que está siendo bloqueado. Puede haber varias razones para esto:

  • Un archivo está abierto en un programa de visualización fuera de Eclipse. Windows no permitirá que se refactorice el archivo abierto.
  • Un CMD.EXE está activo en uno de los directorios a refactorizar. Windows no permitirá que el directorio se mueva o elimine.
  • Un programa se está ejecutando con archivos abiertos para elementos en el área de trabajo. Windows no permitirá que los artículos sean refactorizados.

Si este es el comportamiento de un Eclipse recién empezar a trabajar en una máquina recién empezado, es probable que no Windows, pero un espacio de trabajo dañado o distribución de Eclipse, y se debe descomprimir un eclipse fresco y crear un nuevo espacio de trabajo en el que puede importar (y copiar) los proyectos existentes desde el área de trabajo anterior. Aunque no creo que este sea el problema.

+0

Gracias por su respuesta bien pensada. Acabo de reiniciar Windows para ver si esto resuelve el problema. No fue así. Eclipse funciona perfectamente en todos los demás aspectos, por lo que no creo que sea un Eclipse corrupto. Workspace tiene 0 (cero) errores. ¿Qué más podría ser esto? Gracias y +1. –

+0

Mientras no haya probado los pasos que enumero, no tengo otras sugerencias. –

3

Si solo intenta cambiar el nombre de un paquete con el mismo nombre, solo con un caso diferente, este error se presenta para mí. Muy molesto cuando trato de arreglar los nombres de los paquetes en la convención en minúsculas.

tenido cierto éxito cambiar el nombre de los paquetes en una carpeta de paso, a continuación, la carpeta de destino ...

decir.

APackage -> APackage FALLO

APackage -> APackage2 -> APackage ÉXITO

+0

Gracias + 1. NO intentaba cambiar el nombre del paquete por el mismo nombre con un caso diferente. Pero ... era un archivo .java que tenía el mismo problema exacto. (ver mi repetición de Warlock). –

0

Esto puede deberse al uso de caracteres como guiones bajos en los nombres de sus clases (por ejemplo, My_Class.java). El proyecto se compilará y funcionará bien. Pero en Eclipse, si ejecuta Android Tools> Rename Application Package, el cambio de nombre fallará.

1

Tiene el mismo error. Resultó que mi complemento ClearCase (control de versión) estaba inactivo. Simplemente activó el complemento de control de versión, y el problema fue resuelto.

+0

Acabo de tener el mismo problema con Subversion: la nueva ubicación aún no estaba bajo control de versión, mientras que la anterior era. Gracias por tu respuesta, eso me ayudó mucho. –

0

Se me ocurrió el mismo problema de refactorización cuando estaba trabajando en Ubuntu. La causa son las limitaciones de permisos. Eclipse no puede volver a factor ya que no tiene permiso. Después de dar permiso de root, la refactorización funcionó bien para mí.

0

Si es el problema debido a la caja. He intentado con éxito una solución.

  1. Este fallará

org.xyz.fileName --- renombrar ---> org.xyz.filename

  1. Este pasará

org.xyz.fileName --- renombrar ---> org.abc (cambiar el nombre de la estructura)

org.abc --- renombrar ---> org.xyz.fil ename ¡Esto funcionará bien!

Cuestiones relacionadas