Preguntas más frecuentes: JDT

¿Puede utilizarse un compilador de Java distinto del que está integrado en el entorno de trabajo (javac)?

No. JDT proporciona una serie de sofisticadas funciones, entre las que podemos destacar la recompilación incremental automática, la evaluación de fragmentos de código, el asistente de código, las jerarquías de tipos y la sustitución dinámica de código. Estas funciones necesitan el soporte especial del compilador de Java del entorno de trabajo (parte integral del constructor incremental de proyectos de JDT), que no está disponible en los compiladores estándar de Java.

¿De dónde vienen los paquetes de Java?

Un proyecto solo contiene archivos y carpetas. La noción de paquete de Java está relacionada con la vía de acceso a las clases de un proyecto de Java (en la UI, la vista Paquetes presenta los paquetes tal como los define la vía de acceso a las clases). Sugerencia: si la estructura del paquete no es la prevista, compruebe la vía de acceso a las clases. La infraestructura de búsqueda de Java solo busca las declaraciones de los elementos de Java y las referencias a ellos que se encuentran en la vía de acceso a las clases.

¿Cuándo puede utilizarse un archivo de biblioteca JAR interno y cuándo uno externo?

Un recurso interno reside en algún proyecto del entorno de trabajo y, por lo tanto, lo gestiona el entorno de trabajo; como ocurre con otros recursos, estos recursos pueden ser una versión gestionada por el entorno de trabajo. Un recurso externo no forma parte del entorno de trabajo y solo puede utilizarse por referencia. Por ejemplo, un JRE normalmente es externo y muy grande, y no hay necesidad de asociarlo con un sistema VCM.

¿Cuándo deben utilizarse carpetas de fuente dentro de un proyecto de Java?

Todos los proyectos de Java localizan sus archivos fuente de Java mediante una o varias entradas de tipo de fuente en la vía de acceso a las clases del proyecto. Las carpetas de fuente se utilizan para organizar los paquetes de un proyecto grande en grupos más manejables o para mantener aparte el código fuente de otros archivos del mismo proyecto. También pueden utilizarse carpetas de fuente si se tienen archivos (documentación, por ejemplo) que no tienen porque estar en la vía de acceso de construcción.

¿Qué son las conexiones de fuente y cómo se definen?

Las bibliotecas se almacenan como archivos JAR que contienen archivos de clases binarios (y quizás otros recursos). Estos archivos de clases binarios proporcionan información de firma para los paquetes, clases, métodos y campos. Esta información es suficiente para compilar o ejecutar, pero contiene mucha menos información que el código fuente original. Para facilitar el examen y la depuración de las bibliotecas binarias, existe un mecanismo para asociar el archivo fuente JAR (o ZIP) correspondiente con un archivo JAR binario.

Temas relacionados:

  • Consulte el apartado Página de valores de Java
  • Consulte el apartado Pestaña Bibliotecas
  • ¿Por qué todos los recursos están duplicados en la carpeta de salida (por ejemplo, bin)?

    Si el proyecto de Java utiliza carpetas de fuente entonces, en el curso de la compilación de los archivos fuente del proyecto, el compilador de Java copiará los recursos que no son de Java en la carpeta de salida de modo que estén disponibles en la vía de acceso a las clases del programa en ejecución.

    ¿Cómo evitar que los archivos de documentación se copien en la carpeta de salida del proyecto?

    Utilice carpetas de fuente y ponga en una carpeta independiente, que no esté incluida en la vía de acceso a las clases, todos los recursos que no quiera que se copien en la carpeta de salida.

    ¿Cómo se crea un paquete por omisión?

    No tiene que crear ninguno. Se considera que los archivos de la carpeta raíz de una carpeta de fuente o de un proyecto deben estar en el paquete por omisión. De hecho, todas las carpetas de fuente tienen la posibilidad de tener un fragmento del paquete por omisión.

    ¿Qué significa refabricar?

    Refabricar significa realizar transformaciones de programa que preservan el comportamiento. JDT admite muchas de las transformaciones descritas en el libro de Martin Fowler Refactoring: Improving the Design of Existing Code, Addison Wesley 1999.

    ¿Para qué sirve la función Seleccionar código/Resolver código (F3)?

    Sirve para averiguar, con la ayuda del compilador, qué elemento de Java se corresponde con un rango de origen.

    ¿Es el constructor de Java el que genera la información de programa de Java (por ejemplo, la jerarquía de tipos, las declaraciones o las referencias)? ¿Sigue actualizándose cuando la construcción automática está desactivada?

    La información de programa de Java es independiente del constructor de Java. Se actualiza automáticamente cuando se realizan cambios en los recursos o se ejecutan operaciones de Java. En concreto, todas las funciones que ofrecen las herramientas de Java (por ejemplo, las jerarquías de tipos, el asistente de código o las funciones de búsqueda) continuarán funcionando de forma precisa cuando la construcción automática esté desactivada; por ejemplo, durante un proceso intenso de refabricación que exija desactivar los constructores, seguirá pudiéndose utilizar el asistente de código, que reflejará los cambios más recientes (aún sin construir). Aparte del lanzamiento de programas (es decir, su ejecución y depuración), la única función que precisa el constructor de Java es la evaluación de fragmentos de código.

    Después de reabrir un entorno de trabajo, la primera construcción que se realiza tras editar un archivo fuente de Java lleva mucho tiempo. ¿Cuál es la razón?

    Cuando el entorno de trabajo se cierra, el constructor incremental de proyectos de Java guarda su estado interno en un archivo. Para realizar la primera construcción después de reabrir el proyecto, el constructor incremental de proyectos de Java debe restaurar su estado interno. Si este archivo es grande, el usuario observará que el proceso de construcción es inusitadamente largo.

    No se ve la jerarquía de tipos de una clase. ¿Qué hay que hacer?

    Compruebe que la vía de acceso a las clases de construcción es correcta. Establecer una vía de acceso correcta a las clases de construcción es una tarea importante cuando se desarrollan proyectos de Java. Sin una vía de acceso de construcción correcta no será posible compilar el código. Además, no podrán buscarse elementos de Java en las jerarquías de tipos.