JBuilder X
Notas de esta versión
Este documento contiene una serie de problemas, soluciones y sugerencias conocidos, relacionados con
JBuilder X.
Indice de materias
General
Instalación y registro
Optimizeit Suite
Modelado con Together
Servicios web
Enterprise JavaBeans (EJB)
Desarrollo web
Desarrollo en equipo
XML
Depurador
Diseñador
OpenTools
Nuevas funciones y soluciones en JDataStore 6,07
Unix:
Ejemplos
Rendimiento
Internacional
Documentación
Copyrights, condiciones y exenciones de responsabilidad
General
Si desea ver las últimas FAQ (preguntas frecuentes) y TI (notas de información técnica) de JBuilder, visite estas páginas:
Si desea actualizaciones y paquetes de servicios para el Kit de desarrollo para Java (JDK), consulte: http://java.sun.com/j2se.
Sugerencias
- Si la opción "Sincronizar directorio de salida" está activada (Propiedades de proyecto|Generar|Java), todos los archivos de clase del directorio de la vía de salida que no tengan archivos fuente se eliminan durante la compilación. Éste es el valor por defecto. Se debe desactivar cuando se añaden clases al directorio de salida de forma manual.
- No copie archivos de configuración del antiguo directorio
jbuildern/lib/ext
al nuevo directorio JBuilderX/lib/ext
. Puede producir problemas ocn la versión actual de JBuilder. Restablezca estas configuraciones por medio de Herramientas|Configurar servidores y Herramientas|Configurar Enterprise|Controladores de bases de datos.
Utilización de JBuilder X con otras versiones de JBuilder
A causa de algunos de los cambios realizados en JBuilder X, no es recomendable compartir el directorio de configuraciones por defecto de las versiones anteriores de JBuilder (.jbuildern
, donde n es el número de versión) con la instalación de JBuilder X. Como servicio para nuestros clientes, hemos puesto la configuración de JBuilder X en un directorio nuevo, .jbuilderX
.
Nota:JBuilder X comparte los siguientes directorios con versiones anteriores:
Puede cambiar la ubicación donde JBuilder busca el directorio jbuildern
si añade la siguiente entrada en el archivo jbuilder.config
:
vmparam -Djbuilder.home=vía de acceso al directorio antecesor de .jbuilder-dir
donde .jbuilder-dir es el nombre del directorio inicial alternativo.
Nota: No ponga entre comillas los valores que añada al archivo jbuilder.config
, aunque contengan espacios en blanco. Esto podría provocar un error de análisis.
Problemas conocidos
- [186076] Si un usuario ha desplazado la clase principal a un paquete diferente (especialmente mediante el perfeccionamiento), todas las configuraciones que utilizan la clase dejan de ser válidas. Para el usuario no es evidente que la configuración no es válida.
- [166857] La creación de una clase dependiente de otra resulta en un error "no se puede resolver el símbolo".
- [185735] En JBuilder Developer y JBuilder Foundation, InterClient no está automáticamente en la vía de acceso a clases del sistema de JBuilder. Se puede añadir seleccionando Herramientas|Configurar Enterprise.
[ Volver al principio ]
Instalación y registro
Sugerencias
Registro
Si experimenta problemas durante el registro de su copia de JBuilder, consulte el apartado "Solución de problemas" de Registro de JBuilder.
Instalación silenciosa
Si desea instalar JBuilder sin utilizar el instalador de interfaz de usuario:
- Cree un archivo en el que se especifique un directorio de instalación y se solicite la instalación silenciosa.
- El archivo debe contener estas líneas:
Este archivo utiliza $/$
como separador, independientemente de la plataforma.
- Abra el programa de instalación con el argumento -f seguido del nombre del archivo creado:
- Windows:
ent_install -f <nombre de archivo>
(ejemplo: ent_install -f c:\temp\installer.properties
)
- Linux o Solaris:
./ent_install.bin -f <nombre de archivo>
(ejemplo: ./ent_install.bin -f ./temp/installer.properties
)
Linux
- Posible problema: La configuración mínima del sistema cumple los requisitos o los sobrepasa, pero JBuilder se ejecuta con lentitud.
Solución: El kernel de Linux presenta problemas con algunas placas base y BIOS que no informan de la memoria total disponible. Si desea comprobar si se reconoce toda la memoria instalada, escriba lo siguiente en el indicador de comandos:
cat /proc/meminfo
la respuesta incluirá una línea semejante a:
MemTotal: ######## kB
donde "########" corresponde a la cantidad de memoria que posee el equipo. Si no lo es, deberá indicárselo explícitamente al kernel modificando el archivo /etc/lilo.conf
.
Los detalles sobre la forma de hacer esto se pueden encontrar en: http://www.redhat.com/support/docs/faqs/rhl_general_faq/FAQ-7.html
- [182564] Si se instala JBuilder en Linux, para que sea posible utilizar todas las funciones de la integración con Borland Enterprise Server es necesario que KornShell se encuentre instalado.
- [181871] Sólo para Windows NT: Aparece el mensaje Archivo no encontrado cuando se instala XML Spy desde el CD de Premium Tools.
Solución: Descargue e instale Microsoft Installer Software Development Kit para Windows NT, que está disponible en http://download.microsoft.com/download/WindowsInstaller/Install/2.0/NT45/EN-US/InstMsiW.exe.
- [180257] La barra de avance de la instalación se mantiene cerca del final durante mucho tiempo, con lo que parece que el programa de instalación se ha detenido.
Solución: En la mayoría de los casos, las instalación finaliza correctamente al cabo de unos minutos.
Desinstalación de JBuilder X
Si desea desinstalar JBuilder X, ejecute lo siguiente en el subdirectorio Uninstall xxxxxxx (donde xxxxxxx es el nombre de la edición de JBuilder instalada) del directorio en el que se ha instalado JBuilder X:
- Windows: Realice una de las operaciones siguientes:
- En el directorio en el que se ha instalado JBuilder X, ejecute:
Uninstallxxxxxxx\Uninstallxxxxxxx.exe
.
- Elija Inicio|Programas|Borland JBuilder X xxxxxxx|Desinstalar JBuilder X xxxxxxx.
- Seleccione Configuración|Panel de control|Agregar o quitar programas y elija en la lista Borland JBuilder Xxxxxxxx.
- Linux:
Uninstallxxxxxxx
- Solaris:
Uninstallxxxxxxx
Problemas conocidos
[ Volver al principio ]
Optimizeit Suite
Integración
Optimizeit Suite 6.0 se puede integrar con la mayoría de los servidores de aplicaciones web que utilizan máquinas virtuales compatibles. Optimizeit admite actualmente
Los siguientes servidores de aplicaciones y servidores web:
- Borland Enterprise Server 5.2.1
- WebLogic 6.x, 7 y 8.1 de BEA
- WebSphere 5.0 de IBM
- Tomcat 3.x y 4 de Jakarta
- Oracle 9i
- JBoss 3.2.x y 4
Máquinas virtuales admitidas
Windows | Solaris | Linux |
JDK 1.2.2 de IBM JDK 1.3.0 de IBM JDK 1.3.1 de IBM
JDK/JRE 1.2.2 de Sun JDK 1.3.0 de Sun JDK/JRE 1.3.1 de Sun JDK/JRE 1.4.0 de Sun JDK/JRE 1.4.1 de Sun JDK/JRE 1.4.2 de Sun JRockit 8.1 de WebLogic |
JDK/JRE 1.2.2 de Sun JDK/JRE 1.3.1 de Sun JDK/JRE 1.4.0 de Sun JDK/JRE 1.4.1 de Sun JDK/JRE 1.4.2 de Sun |
JDK 1.2.2 de IBM JDK 1.3.0 de IBM JDK 1.3.1 de IBM JDK 1.4 de IBM JDK 1.2.2 de Blackdown JDK 1.3.0 de Blackdown
JDK/JRE 1.2.2 de Sun JDK/JRE 1.3.1 de Sun JDK/JRE 1.4.0 de Sun JDK/JRE 1.4.1 de Sun JDK/JRE 1.4.2 de Sun JRockit 8.1 de WebLogic |
Se suministran asistentes para las integraciones admitidas, así como instrucciones para la integración manual con los servidores de aplicaciones y motores de servlets más importantes. Si desea más información, consulte la Guía para la integración de Optimizeit de la ayuda en pantalla.
General
Todas las opciones de servicio técnico disponibles se encuentran en la página de inicio del Servicio técnico de Borland en http://support.borland.com/, que contiene enlaces a grupos de noticias, documentos técnicos, envío de solicitudes de asistencia en la instalación, descripciones de las ofertas de asistencia y otra información de ayuda.
Optimizeit admite la implementación del JDK Hotspot de Java, pero con las siguientes limitaciones:
- Optimizeit sólo admite Hotspot en el JDK 1.3.1 y posteriores.
- Asegúrese de que ha instalado la versión más reciente con todos los parches actuales para la versión del JDK; por ejemplo, hay algunos problemas al utilizar la versión 1.3.1_02 del JDK que no ocurren cuando se utiliza la versión 1.3.1_04 o 1.4.0_02.
- El gráfico de referencias muestra numerosas referencias a raíces como "Raíces desconocidas." Estas raíces no están identificadas pero son referencias a raíces válidas. Este problema sólo se presenta con el JDK 1.3.1.
- El analizador basado en la instrumentación puede mostrar números de línea equivocados con algunos métodos. Si esto ocurre, siempre se selecciona la primera línea del método. Para corregir este problema, vuelva a compilar el programa con
javac
del JDK 1.3.1.
- Durante la ejecución del servidor, el análisis de memoria no es fiable con Hotspot, aunque se admite el análisis del procesador. Para el análisis de la memoria, utilice la ejecución del cliente (por defecto).
Problemas conocidos
Optimizeit incluye una Guía de solución de problemas que responde a las preguntas más frecuentes sobre la instalación y la configuración de Optimizeit. Hay algunos problemas adicionales que no cubre esta guía. Se ordenan por plataforma y JDK.
Problemas del JDK:
- Asegúrese de que está utilizando la versión más reciente del JDK y del sistema operativo. Algunas funciones de Optimizeit no funcionan correctamente a menos que se esté ejecutando la versión más reciente.
- [186029] Si se utiliza el JDK 1.3 de IBM, Optimizeit no admite la comprobación de servlets ni de JSP.
- [184026] La función de volcado de memoria dinámica del JDK 1.4.1 es inestable. Si se produce un bloqueo en el modo Visualizador de instancias (Gráfico de referencia) o en el Detector de pérdidas de memoria, pruebe a cambiar al JDK 1.4.0 o JDK 1.4.2.
- [182501] Cuando se analizan aplicaciones mediante el JDK 1.4 de IBM, el analizador de calidad de la aplicación no informa de algunos errores de crecimiento anormal del contenedor.
- [149715] Cuando se comprueba una aplicación mediante el JDK 1.3 de IBM con Code Coverage, el test puede devolver una excepción OutOfMemory. Este problema se puede corregir especificando el parámetro java
-Dccoverage.classpath=
para la llamada java, o aumentando el valor del tamaño mínimo de memoria dinámica mediante el parámetro del comando de inicio -Xms256M
(en el que 256 es un ejemplo del tamaño mínimo, en megabytes).
- [149433] El JDK 1.3.1 de IBM se bloquea cuando Optimizeit Profiler solicita un volcado de memoria dinámica JVMPI. Por ejemplo, esto puede suceder si se selecciona una clase en la vista Memoria dinámica y se hace clic en la vista Instancia. Este problema no ocurre con el JDK 1.3 de IBM.
- [163814] Al comprobar applets con la versión alemana de Optimizeit se debe utilizar el JDK 1.4 o posterior si los nombres de las clases incluyen caracteres alemanes. La comprobación con el JDK 1.3.1 o la versión anterior no es posible porque el comando
oldjava
no reconoce los caracteres alemanes en los nombres de clase.
Problemas de Windows:
- En los equipos con Windows se puede conseguir un rendimiento mejor si se desactiva el programa de índices por defecto de Windows,
findfast.exe
. Este programa se puede desactivar manualmente desde el panel de control.
- En los equipos con Windows, Hotspot no es la opción de máquina virtual por defecto para el JDK 1.3.1; para utilizar Hotspot con este JDK, se debe abrir la pestaña Máquinas virtuales en el cuadro de diálogo Configuración y seleccionar la opción Hotspot.
- [162075] Si la integración se realiza desde una herramienta autónoma (Profiler, Thread Debugger o Code Coverage) se debe volver a realizar la integración para cada herramienta de Optimizeit. Si la integración se realiza desde Optimizeit Suite, funciona con todas las herramientas.
Problemas de Solaris y Linux:
- [182735] En Solaris, las primeras clases no se pueden instrumentalizar con el JDK 1.4.x. Esto significa que algunos errores, como los de crecimiento del contenedor, no se pueden generar.
- En los equipos Solaris, algunas ventanas muestran el texto recortado porque la fuente es demasiado grande. Reduzca el tamaño de la fuente y actualice la pantalla para poder ver toda la información.
- [149121] En UNIX, algunas máquinas virtuales (como el JDK 1.2.2) utilizan por defecto hilos verdes, pero Thread Debugger no los admite. Si se utilizan hilos verdes, Thread Debugger no puede iniciar el programa Java. Antes de ejecutar el programa de prueba, asegúrese de que la máquina virtual está utilizando hilos nativos configurando la variable de entorno THREADS_FLAG como nativa. Si los hilos nativos no están disponibles en su JVM (por ejemplo, la ejecución clásica del JDK 1.3.0 o 1.3.1. para Linux), se debe instalar otra máquina virtual. Si tiene que utilizar el JDK 1.3.0, la versión de Blackdown cuenta con una implementación nativa. Si desea más información sobre la selección de hilos verdes o nativos, consulte la Guía de solución de problemas.
- [149782] En los equipos Linux, el JDK 1.2.2 de IBM no inicia las comprobaciones si se lanzan desde la interfaz de usuario de Optimizeit; esto se cumple con las tres herramientas de Optimizeit. Esto se debe al modo en que se utilizan los hilos nativos en la máquina virtual. Si es necesario iniciar las pruebas desde Optimizeit (para ello, se indican los parámetros de prueba en el cuadro de diálogo Configuración y se pulsa Comenzar ahora), se debe utilizar un JDK diferente.
Otros problemas
- [185438] Los informes en PDF que se generan desde Optimizeit Profiler y Progress Tracker tienen márgenes que pueden ser demasiado pequeños para algunas impresoras, lo que provoca que los informes se impriman con los bordes recortados. Se puede ajustar la configuración en el cuadro de diálogo Imprimir de Acrobat (Archivo|Imprimir) para evitar que se recorten los bordes de los informes en la impresión. En el cuadro de diálogo Imprimir, según la versión de Acrobat, se puede seleccionar Shrink Oversized Pages To Paper Size o Page Scaling to Fit To Paper.
- [185608] Cuando se instala Optimizeit con JBuilder X Enterprise Edition, Progress Tracker y Filter Editor no se pueden iniciar desde el directorio
<jbuilder>/OptimizeitSuite
. En su lugar, se debe iniciar Progress Tracker y Filter Editor desde el IDE de JBuilder. Para iniciar Progress Tracker desde JBuilder, seleccione Progress Tracker en el menú Herramientas. Para iniciar Filter Editor desde JBuilder, pulse el botón Modificar filtro de la ficha Optimizar del cuadro de diálogo Modificar configuración de ejecución (Ejecutar|Optimizar proyecto).
- [181010] Si se está utilizando WebSphere 5 con el Administrador de distribución, es necesario seguir estos pasos para integrar Optimizeit:
- Ejecute el asistente para la integración de WebSphere 5 desde el menú Herramientas de Optimizeit (Herramientas|Integración de servidor de aplicaciones|IBM WebSphere 5) y pulse Siguiente.
- En lugar de seleccionar el directorio AppServer de WebSphere, seleccione el directorio DeploymentManager y, a continuación, pulse Siguiente.
El asistente le guía durante el resto de la integración.
- Cuando termine la integración, reinicie el Administrador de distribución (por ejemplo, desde el menú inicio de Windows, Programas|IBM WebSphere|Application Server 5.0|Network Deployment).
- Inicie la instancia del servidor de aplicaciones con la que se ha integrado Optimizeit.
El servidor de aplicaciones se inicia con la herramienta de Optimizeit seleccionada en el Selector de sistema de auditoría.
- [168678] Optimizeit requiere que el método
main
de la aplicación que se desea analizar sea público. Si se intentan analizar clases con métodos main
privados o protegidos, se lanza la excepción ClassNotFoundException
.
- [151325] Si se selecciona la generación automática del archivo server.xml (la opción por defecto) al probar servlets en Tomcat 4.0, el directorio temporal no debe contener ningún carácter ASCII alto. Si no es así, Tomcat no puede analizar el archivo
server8080.xml
generado.
- [163141] En los sistemas con Unix, después de integrar TogetherSoft con Optimizeit y antes de iniciarlo, escriba el siguiente comando en la línea de comandos:
export LD_LIBRARY_PATH=<together_dir>/bin:<together_dir>/lib:$LD_LIBRARY_PATH
donde <together_dir> es el directorio de TogetherSoft.
Documentación
La instalación de Optimizeit contiene la siguiente documentación:
- Guía del usuario, que explica cómo se configura el sistema y cómo se utilizan las funciones de las herramientas. Se puede acceder a la Guía del usuario desde Ayuda|Temas de ayuda, seleccionando Optimizeit Suite en Contenido.
- Recorrido, que guía a lo largo de un pequeño programa y un escenario de prueba. Recorrido se encuentra en el directorio de la documentación del Visor de ayuda.
- Una serie de tutoriales de integración que ayudan a integrar Optimizeit con los IDE y los servidores de aplicaciones. Estos tutoriales de integración se encuentran en el directorio Guía de integración del Visor de ayuda.
- Una Guía de solución de problemas, que da respuesta a las preguntas más frecuentes sobre la instalación y la configuración de Optimizeit. La Guía de solución de problemas se encuentra en el directorio del Visor de ayuda.
Si se ha instalado Optimizeit Suite, se puede acceder a toda la documentación de todas las herramientas desde el Visor de ayuda. Si desea información adicional sobre el uso del Visor de ayuda, seleccione Ayuda|Temas de ayuda en la barra de menús superior y, a continuación, Ayuda|Cómo utilizar la ayuda, en la barra de menús superior del Visor de ayuda.
Compruebe si existen actualizaciones de la documentación en la página web de publicaciones técnicas de Optimizeit, http://info.borland.com/techpubs/optimizeit/.
[ Volver al principio ]
[ Volver al principio ]
Servicios web
Problemas conocidos
- [186433] El Diseñador de flujo de Axis no se actualiza correctamente.
Solución: Active y guarde siempre en la vista Diseñador antes de cambiar a la pestaña Flujo Axis.
- [186402] Cuando se genera un módulo de aplicación con un módulo web de servicios web y un módulo web de servicios ajenos a la web, este último no se incluye en el EAR.
Solución:
- Abra el Diseñador de servicios web, pulse el botón Configuración del módulo de la barra de herramientas y seleccione la opción "Utilizar la salida guardada del diseñador".
- Amplíe el nodo del diseñador de servicios web y abra
build_WebLogic.xml
.
- Busque la tarea "JBServicegenTask" y modifique el elemento
servicegen
añadiendo el siguiente atributo: overwrite="false"
- Vuelva a generar el módulo de aplicación.
- [186287] Kit de herramientas de Axis: La opción Generar un test JUnit del inspector Cliente se ha sustituido por la opción ¿Sobrescribir test Junit?. Anteriormente se podía sobrescribir el test al generar de nuevo. Ahora sólo se sobrescribe si se selecciona la opción ¿Sobrescribir test Junit?. Esta opción está desactivada por defecto. La documentación del producto hace referencia a la opción Generar un test Junit, que ya no es válida.
- [186217] Kit de herramientas de Axis: Si se elimina un nodo Diseñador de servicios web y se recrea a continuación mediante el nodo módulo web, se duplican todos los mapeos de servlets del archivo
web.xml
.
Solución: Haga doble clic en el nodo módulo web para abrir el Editor DD. Amplíe el nodo Mapeos de servlets y elimine los mapeos duplicados mediante el menú contextual.
- [186185] Kit de herramientas de WebLogic: Cuando se crean servicios de beans gestionados por mensajes mediante el panel de estructura o la barra de herramientas del diseñador, las opciones por defecto no están definidas.
Solución: Al crear servicios MDB mediante el panel de estructura o la barra de herramientas del diseñador: asegúrese de que las opciones por defecto están definidas correctamente, o bien, utilice la función "scan Message Driven Bean Services".
- [186158] Kit de herramientas de Axis: El test cliente generado no se ejecuta con un servicio web que implementa una excepción personalizada.
Solución: En el paquete fuente generado, sustituya todas las referencias de la clase de excepción personalizada generada por las de la clase de excepción original.
- [186033] Kit de herramientas de Axis: Los cambios realizados en el archivo
Axis.wsdd
mediante el Editor de flujo de Axis no se propagan al archivo Server-config.wsdd
cuando se genera de nuevo si el archivo Server-config.wsdd
está abierto en el editor. Si el archivo Server-config.wsdd
está abierto durante la generación, no siempre se actualiza correctamente el servicio.
Solución: Cierre el archivo Server-config.wsdd
antes de generar.
- [185812] Cuando se exporta un servicio con opciones WSDL para crear dos archivos diferentes, el cliente generado utiliza el archivo de interfaz WSDL de forma incorrecta.
Solución: Desactive la generación del cliente en el servicio de exportación y arrastre el archivo de implementación WSDL al diseñador después de la generación.
- [185476] Las funciones de optimización "Actualizar WSDL al generar" y "Actualizar los fuentes generados al compilar" (que aparecen en la documentación del producto) ya no son necesarias.
- [185471] Kit de herramientas de Weblogic: Cuando se conmuta la propiedad ApplicationModule para que incluya o excluya los módulos EJB con SessionBeans o MDB, no se activan inmediatamente las opciones de creación y análisis en la barra de herramientas. Es necesario salir del diseñador y volver a entrar para ver los cambios.
- [184892] Si se utiliza la generación en segundo plano y se modifican los archivos fuente mientras la generación está en curso, opentools y algunos sistemas de JBuilder representan el estado del archivo de clase, y no el del archivo fuente modificado.
Solución: Seleccione Archivo|Guardar todo antes de generar.
- [184450] Kit de herramientas de Axis: Cuando se exporta un servicio en el que hay una tabla namespace y un campo namespace de destino, el campo namespace de destino redefine las entradas de la tabla. Estas opciones están disponibles en pestañas adyacentes del inspector del servidor, en el diseñador.
- [183275] Si se utilizan clases extra, es necesario registrar la correspondencia de tipos para el cliente. La forma más fácil de hacerlo consiste en modificar el stub generado y añadirlo al constructor. Si desea más información, examine el proyecto ExtraClass de la sección Ejemplos.
- [182046] Kit de herramientas de WebLogic: Si Servicio Java|Servidor|Estilo del servicio tiene el valor "documento", falla la generación.
Solución:
- Seleccione SOAP 1.2 en el Inspector del servidor.
- Desactive Generar tipos en el Inspector del servidor.
- Desactive Generar clases de serialización en el Inspector del cliente, en la ficha Opciones de TypeMapping.
- [181190] JBuilder actúa como si se bloqueara cuando se compila un servicio web importado en las siguientes circunstancias: el servidor especificado en el campo Archivo WSDL de entrada del Inspector de servicio WSDL (campo superior del componente servicio en el Diseñador) no se encuentra disponible, o se está trabajando sin conexión a Internet.
Solución: Si el diseñador se rellena con servicios WSDL externos o basados en UDDI desde la red, asegúrese de que existe la conexión; si no es así, es necesario desactivar o eliminar el servicio. Después de importar el servicio y generar el código, ya no se necesita en el Diseñador.
- [162229] WebLogic 7 (kit de herramientas de servicios web): Falla la generación de Exportar a Ant. Esta versión de
javac
no se puede utilizar con un JDK anterior al JDK 1.4.
Solución: Desactive la opción "Utilizar el compilador Java de Borland" en la ficha de propiedades del archivo build.xml
.
- [148557] Imposible importar un archivo WSDL de un bean sesión que utiliza DataExpress. No se puede utilizar servicios web con EJB que utilizan tipos de datos no serializables.
[ Volver al principio ]
Enterprise JavaBeans (EJB)
Sugerencias
- Consulte Desarrollo de aplicaciones con Enterprise JavaBeans si desea información adicional sobre el desarrollo y la distribución de EJB mediante JBuilder X.
- Si desea añadir un service pack a la configuración del servidor de aplicaciones:
- Seleccione Herramientas|Configurar servidores.
- Seleccione el servidor en la lista de servidores del panel del lado izquierdo del cuadro de diálogo.
- Pulse la pestaña General y después en la pestaña Clase, si no están ya seleccionadas.
- Diríjase a la ubicación del archivo JAR del service pack (como
weblogic51sp10boot.jar
).
- Haga clic en Aceptar para cerrar todos los cuadros de diálogo.
Exportación de EJB a Ant
En JBuilder, los descriptores de distribución EJB e EAR se encuentran almacenados dentro de grupos EJB y EAR. Ant lleva a cabo la generación en descriptores de distribución autónomos (archivos XML). Si se modifica un grupo EJB o EAR, estos cambios se deben guardar en descriptores de distribución autónomos, o la generación de Ant tendrá lugar en descriptores de distribución desfasados o inexistentes.
La exportación de proyectos EJB a Ant requiere estos pasos adicionales:
- Desactive las dependencias de clase de los módulos EJB y configurarlas manualmente como se describe a continuación:
- Haga clic con el botón derecho del ratón en el módulo EJB, en el panel del proyecto, y elija Propiedades.
- Haga clic en la pestaña Contenido y quite la marca de la opción Incluir dependencias de clases.
- Configure la copia automática de descriptores al guardar como sigue:
- Haga clic con el botón derecho del ratón en el módulo EJB, en el panel del proyecto, y elija Propiedades.
- Pulse la pestaña Generar|EJB, marque la opción Copiar descriptores y especifique un nombre de directorio.
- Si el proyecto contiene un EAR, repita el paso 2 con los grupos EAR. Los descriptores para los grupos EAR se deben extraer a un directorio diferente del de los descriptores EJB.
Advertencia:Cuando se desactiva la opción Incluir dependencias de clases de los jar de EJB se pueden producir errores de compilación si alguna de las clases de EJB utiliza tipos de datos personalizados, herencia, etc. En este caso, pulse el botón Añadir filtros de la pestaña Contenido en el cuadro de diálogo Propiedades de EJB y añada las dependencias.
Notas adicionales sobre los EJB
No se debe utilizar el compilador Borland de Java para compilar JSP con Borland Enterprise Server cuando se usa Exportar a Ant. Para desactivar esta opción, haga clic con el botón derecho del ratón en build.xml
(debajo del nodo Exportar a Ant), en el panel del proyecto, y seleccione Propiedades. Pulse la pestaña Ant y desactive la opción Utilizar el compilador Borland de Java.
Para compilar un proyecto de servicios web basado en el kit de herramientas WebLogic mediante Exportar a Ant:
- Seleccione Proyecto|Propiedades de proyecto.
- Pulse la pestaña Generar|Ant.
- Añada la biblioteca cliente WebLogic antes de compilar el proyecto por medio de build.xml.
Si utiliza la plataforma UNIX , compruebe que la variable de sistema PATH incluye JDK_HOME/bin
cuando vaya a compilar proyectos WebLogic (web/EJB/basado en servicios web).
Parámetros de MV que se pueden definir para Borland Enterprise Server
Los siguientes parámetros de MV se pueden definir en el archivo jbuilder.config
(que se encuentra en el directorio bin
de JBuilder):
BESConnectToAgentCommunicationServerWaitTime
Se trata del tiempo que espera JBuilder para conectarse al socket AgentCommunicationServer después de iniciar el proceso. El valor por defecto de esta propiedad es 10000 ms. vmparam -DBESConnectToAgentCommunicationServerWaitTime=<nnnnn>
AgentCommunicationServerVerbose
Se puede asignar a esta propiedad un valor (p.ej. true
) para ver en la consola o la ventana de seguimiento información adicional sobre la ejecución de diversos comandos de Borland Enterprise Server (nombre anterior: BES50xCommandLineVerbose
). vmparam -DAgentCommunicationServerVerbose=true
AgentCommunicationServerExtraVmParams
El valor de esta propiedad, si está disponible, se puede utilizar para añadir a la línea de comandos parámetros de MV adicionales para el inicio de AgentCommunicationServer. Estos parámetros adicionales pueden ser cualquier configuración de Borland Enterprise Server que resulte útil (nombre anterior: BES50xCommandLineExtraVmParams
). vmparam -DAgentCommunicationServerExtraVmParams=-D<nombre del parámetro>=<valor del parámetro>
Problemas conocidos
- [SCR 66767] Cuando se crea un EJB 2.0 CMP mediante la galería de objetos se genera un EJB 1.1 CMP incluso si la versión de EJB está definida como 2.0 en Propiedades de proyecto.
Solución: Utilice uno de los dos métodos siguientes:
Corrección de un Bean 1.1 CMP mediante el Inspector
- Haga clic con el botón derecho del ratón en el EJB y seleccione Propiedades. Se abre el Inspector.
- Seleccione la pestaña EJB entidad.
- Seleccione Gestionados por Bean en la opción Gestión de persistencia. De esta forma se desactiva el CMP para el bean.
- Seleccione Gestionados por contenedor en la opción Gestión de persistencia. De esta forma se define el bean como CMP 2.0.
Corrección de un bean 1.1 CMP mediante la verificación de EJB
- Haga clic con el botón derecho del ratón en el EJB y seleccione Verificar EJB | Verificar como CMP 2.0.
- Observe los mensajes de error que se generan en el Panel de mensajes. Estos mensajes indican las incoherencias entre la versión de EJB especificada en Propiedades de proyecto y el EJB.
- Haga clic con el botón derecho en uno de los mensajes de error y seleccione Corregir todo.
Creación de un bean CMP mediante la barra de herramientas del diagrama
- Se puede crear un EJB entidad mediante la barra de herramientas del diagrama.
- Haga clic con el botón derecho del ratón en el EJB y seleccione Propiedades. Se abre el Inspector.
- Seleccione la pestaña EJB entidad.
- Seleccione Gestionados por contenedor en la opción Gestión de persistencia.
- [186505] Después de configurar Borland Enterprise Server como servidor de aplicaciones es necesario reiniciar JBuilder. No siempre aparece el mensaje que lo indica. Para que sea posible acceder a la opción Consola de Borland Enterprise Server en Ver|Paneles es necesario reiniciar JBuilder.
- [185564] El código del localizador de servicios debe utilizar la búsqueda de contexto inicial por defecto para buscar la base local. La búsqueda por contexto del servidor falla cuando se buscan beans entidad con determinados servidores.
- [184164] Cuando se incluye una biblioteca como dependencia de un módulo no se incluyen los archivos JAR en esa biblioteca si éstos se comparten con la biblioteca cliente.
- [184266] No siempre se cierra limpiamente la partición de Borland Enterprise Server.
Solución: Desactive el servicio Connector en la ficha Servidor de Propiedades de proyecto o en Configuraciones de ejecución.
- [171998] Cuando se crea un módulo a partir de un directorio aparece un directorio META-INF. No es necesario guardar los descriptores en un directorio llamado META-INF.
- [171710] Cuando se pulsa el botón rojo cuadrado para cerrar una partición que ejecuta el JDK 1.3.1 ésta no se cierra, ni siquiera después de varios intentos. Es necesario pulsar el botón de finalización. Esto sólo sucede si el JDK 1.3.1 se ejecuta en Linux. No ocurre con el JDK 1.4.1.
- [163536] La partición no se inicia en JBuilder. En su lugar, aparece el mensaje de error: "Conexión con socket caducada".
Solución: Compruebe que tiene la siguiente línea en el archivo hosts
: 127.0.0.1 localhost
El archivo hosts
se encuentra en:
- Windows:
WINDOWS_HOME/system32/drivers/etc
- Unix:
/etc/
- [163028] Borland Enterprise Server 5.2: No es posible encontrar la clase principal si está en un archivo
.java
cuyo nombre contenga caracteres ampliados.
Solución: Utilice la versión del JDK que se suministra con JBuilder.
- [162276] WebLogic 8.1 (kit de herramientas WebLogic): Si se asigna el valor false de forma manual al flag overwrite de Servicegen, los servicios web no se generan si sólo hay servicios web basados en ejb.
- [160176] Si se abre el SonicMQ Explorer desde la consola de Borland Enterprise Server dentro de JBuilder, no es posible cerrarlo.
Solución: Ábralo desde la consola independiente de Borland Enterprise Server.
- [158726] iPlanet 6.5 (SP1): Cuando se intenta compilar una página JSP se produce un error de orden.
Solución: Aplique el parche que se puede descargar de: http://wwws.sun.com/software/download/app_servers.html#appser.
- [150967] Borland Enterprise Server 5.1.1 (Linux y Solaris) sólamente: Haga clic con el botón derecho y ejecute (Agente de autoinicio) el módulo EJB o JSP no distribuye el recopilatorio. Parece ser una cuestión de tiempo esperar a que el agente responda después de que se ha iniciado.
Solución:
- Inicie primero manualmente el agente y después distribuya el recopilatorio.
- Distribuya los recopilatorios después de que la partición se haya iniciado. Si está utilizando los comandos Ejecutar web y Depurar web, actualice la página web después de la distribución.
- [148165] Sólo para Sybase: Para que sea posible acceder a los componentes distribuidos es necesario reiniciar el servidor Sybase después de distribuir un WAR por medio de JBuilder. Si se está ejecutando el servidor dentro de JBuilder, se debe reiniciar manualmente. Si se ha iniciado el servidor desde fuera de JBuilder, se reiniciará de forma automática.
Solución: Para desactivar esta opción, quite la marca de la opción "Reiniciar el servidor para este recopilatorio" de la pestaña Distribución del cuadro de diálogo Propiedades del nodo de la aplicación web.
- [148164] Sólo para Sybase: No se puede utilizar el Administrador de Jaguar en Solaris si el sistema operativo Solaris se ha adaptado al JDK 1.4.1.
Solución: Utilice el Administrador de Jaguar desde una máquina distinta para gestionar un servidor Sybase instalado en un equipo Solaris adaptado para el JDK 1.4.1. Visite la página web de la asistencia de Sybase para buscar los posibles arreglos que resuelvan este problema.
- [145689] Sólo para Sybase: Cuando las columnas de clave principal de un EJB son del tipo
java.math.BigDecimal
, el servidor crea un archivo BigDecimal.class
no válido en java/math
bajo HTML/Classes
y java/classes
. Este archivo BigDecimal.class
generado aparenta tener constructores incorrectos y métodos incorrectos.
Solución: Utilice un tipo java.lang.Long
como tipo de clave primaria.
- [136044] Tras modificar el nombre de un EJB por medio del editor DD, no se restablece el nombre aunque se borre y se vuelva a crear el EJB. El nombre antiguo sigue apareciendo en la vista del proyecto.
- [135469] Cuando se ejecuten múltiples particiones en JBuilder con archivos distribuidos a través de estas particiones, asegúrese de que el servicio de denominación sólo está activado para una de ellas. Realice los siguientes pasos antes de iniciar el servidor:
- Seleccione Proyecto|Propiedades de proyecto.
- Haga clic en la pestaña Ejecutar y pulse Nuevo.
- Elija el servidor en la lista desplegable Tipo.
- Modifique la configuración de ejecución del servidor que está utilizando para lanzar la partición y retire la marca de Servicios de denominación en la lista de servicios.
- [134111] WebLogic 6.0 (SP2): Cuando se añaden relaciones en el Diseñador de EJB y, a continuación, se fuerza una confirmación, los campos CMR se convierten en campos CMP y se elimina la relación.
Solución: Para utilizar EJB 2.0, use WebLogic 6.1 ó 7.0. WebLogic 6.0 (SP2) no proporciona la asistencia adecuada según la especificación EJB 2.0.
- [131969] Ejecutar web de WebSphere 4.0 Single Server JSP: Cuando se inicia la vista web, se lanzan excepciones
ClassCastException
en el servidor. Al parecer, esto no ocurre cuando se ejecuta el servidor desde la línea de comandos. Estas excepciones no parecen afectar a ninguna función.
- [130601] Tras seleccionar Herramientas|Configurar Enterprise...| CORBA, aparece un error de licencia al generar un archivo
.idl
.
Solución: Realice una de las operaciones siguientes:
- Configure Borland Enterprise Server mediante Herramientas| Configurar servidores.
- Introduzca el parámetro
licenseDir
e indique una ubicación de licencia correcta del disco:
- Seleccione Proyecto|Propiedades de proyecto y abra la pestaña IDLde Generar.
- Introduzca la ubicación de
VBJprop borland.enterprise.licenseDir=<del archivo de licencia>
en el campo Opciones adicionales.
- [121838] Se generan descriptores de distribución incorrectos de Borland Enterprise Server 5.0.2/5.1+ para beans entidad EJB 2.0 que hacen referencia a tablas con nombres de tablas y columnas que distinguen entre mayúsculas y minúsculas.
Solución: Haga doble clic en el módulo EJB 2.0 y pulse en el visor de código fuente DD. Modifique el código fuente de ejb-borland.xml y ponga entre comillas dobles altas (") estos nombres de tablas y columnas.
- El compilador ejbc de WebLogic genera errores de compilación en los siguientes casos:
- El proyecto de WebLogic se crea en un directorio que contiene espacios.
- La vía de acceso a clases contiene espacios.
Solución: No se deben utilizar espacios en el directorio del proyecto ni en la vía de acceso a clases.
Nota: Esto sólo sucede con versiones anteriores a WebLogic 7.
[ Volver al principio ]
Desarrollo web
Sugerencias
Cuando se ejecuta una página JSP o un servlet con el navegador web interno de JBuilder, la compilación inicial de la JSP puede hacer que el tiempo de reacción del servidor sea más largo que el valor de tiempo de espera del navegador. De esta forma, el servidor cierra la conexión y la página se muestra en blanco en la vista web. La página se carga correctamente cuando se intenta cargarla de nuevo una o dos veces. Para ello, pulse el botón Actualizar o ponga el foco del teclado en el campo de la dirección URL y pulse la tecla Intro. De forma alternativa, la página JSP o el servlet se puede ver en un navegador externo. Normalmente, los navegadores externos tienen un tiempo de espera más prolongado que se puede configurar.
Problemas conocidos
- Las webapps no funcionan si no existe una conexión a una red. El siguiente artículo de información técnica de Borland explica cómo crear un archivo de hosts de forma que las webapps funcionen sin conexión: http://bdn.borland.com/article/0,1410,28482,00.html.
- Cuando JBuilder inicia un servidor que proporciona el servicio de páginas JSP o servlets, intenta esperar a que el contenedor web se cargue antes de cambiar a Vista web para acceder al URI de inicio. Con algunos servidores,
como Borland Enterprise Server 5.0.2/5.1+ y Tomcat 3.3,
el contenedor web puede comenzar a responder antes de que todos los contextos de la aplicación web se hayan cargado. Si el contexto deseado no se ha cargado treinta segundos después del inicio del proceso del servidor, en la Vista web pueden aparecer errores HTTP, tales como "500 Sin contexto" o "503 Servicio no disponible". Si esto ocurre, espere a que el servidor termine de cargarse y pulse el botón Actualizar de la barra de herramientas de la Vista web (o cargue la URL de inicio con un navegador externo).
- [186666] Sólo JBuilder Developer: No se instala el archivo
defaults\validator-rules.xml
.
Solución: Copie el archivo defaults\validator-rules.xml
del directorio thirdparty\jakarta-struts-1.1-lib
a su directorio defaults
.
- [171787] Si ocurre algún problema al intentar depurar JSP con Tomcat 4.1, pruebe esta solución: Copie
jasper-compiler.jar
y jasper-runtime.jar
del directorio de instalación (TOMCAT_HOME/lib
) de Tomcat 4.0 (que se distribuye junto con JBuilder en el directorio thirdparty
) al directorio de instalación de Tomcat 4.1 (TOMCAT_HOME/common/lib
).
- [161837] Los applets que utilizan componentes AWT pueden tener problemas de representación cuando se ejecutan en el navegador que incorpora JBuilder.
Solución: Excluya mediante caracteres de comentario la línea addbootpath ../lib/lawt.jar
del archivo bin/jbuilder.config
.
- [159574] Tomcat 4.1: Se producen errores cuando se compilan páginas JSP en subdirectorios que no constituyen nombres de paquete válidos (por contener caracteres no válidos, como el guión, o palabras reservadas de Java). Si desea más información, consulte http://issues.apache.org/bugzilla/show_bug.cgi?id=17505.
- [158610] Se produce un error de compilación cuando se utiliza Borland Enterprise Server 5.2 (SP1) como servidor web para crear una página JSP haciendo clic con el botón derecho en
web.xml
o en web_borland.xml
.
- [155264] Tomcat 4.1: Cuando se genera un archivo WAR que contiene un archivo ZIP en la dependencia, se muestra un mensaje de error.
Solución: Cambie la extensión del archivo ZIP a jar
. O bien compruebe si hay un recopilatorio disponible con la extensión JAR.
- [154615] Cuando se intenta depurar dos páginas JSP con el mismo nombre distribuidas en contextos web distintos, siempre se carga en primer lugar la JSP de la aplicación web. (Se trata de un problema genérico de Jasper que se produce en las últimas versiones de Tomcat y WebSphere 5.)
- [150650] El archivo
cactus.properties
se genera con un puerto incorrecto en los siguientes casos:
- El asistente se lanza con un servidor ejecutándose y el usuario pulsa Finalizar en el primer paso.
- El asistente se lanza en un un proyecto con varias configuraciones de ejecución con números de puerto distitons en el servicio JSP/Servlet.
Solución:
- Seleccione la configuración de ejecución del servidor y asegúrese de que el servidor no se está ejecutando cuando el Asistente para la configuración de Cactus se ha lanzado.
- Abra el archivo
cactus.properties
en el directorio de test (vía de acceso a test en el cuadro de diálogo Propiedades del proyecto, ficha Vías de acceso), modifique la propiedad cactus.contextURL
añadiendo el número de puerto correcto. Tendrá que volver a generar el proyecto después de realizar esto.
- [134113] Compatibilidad con Tomcat 3.3: El depurador omite dos veces la inspección de la misma línea.
Solución: Cuando realice la depuración con Tomcat 3.3 y el JDK 1.3.x, añada "-classic" a los parámetros de la MV.
- [130756] Si un proyecto contiene un JAR y un WAR, así como un EAR que los agrupa, y el EAR se ejecuta con una ejecución unificada de servidor, JBuilder intenta distribuir el WAR dos veces, una durante la distribución del EAR y otra durante la distribución del WAR.
Solución: Los recopilatorios que se deben distribuir se pueden seleccionar en la lista Recopilatorios de la configuración de ejecución del servidor.
[ Volver al principio ]
Desarrollo en equipo
Sugerencias
Para aprovechar al máximo las características de CVS en JBuilder, es recomendable que utilice la versión de CVS que se instala con JBuilder o una posterior.
Es recomendable no utilizar la función "Nueva carpeta" del panel de proyecto con proyectos sometidos a control de versiones. Es mejor organizar el proyecto mediante la localización automática de paquetes fuente de JBuilder, o mediante Añadir archivos/paquetes.
Problemas conocidos
- Error: "El cliente CVS no está instalado o no está en el PATH. Instale CVS o añádalo al PATH." Si utiliza Microsoft Windows 98, se encontrará con este error al intentar utilizar CVS con JBuilder por primera vez. Para corregir este problema, haga lo siguiente:
- Cierre JBuilder.
- En el directorio
bin
de JBuilder, cambie el nombre del archivo cvs95.exe
por cvs.exe
.
- Reinicie JBuilder.
- Sólo para StarTeam: Las herramientas personalizadas no aparecen en JBuilder X.
Solución: La integración de StarTeam en JBuilder X está lista para el uso de las herramientas personalizadas de StarTeam Enterprise Advantage. Para utilizar esta función es necesario tener StarTeam Extensions 5.3. Si desea utilizar estas herramientas, actualice el proyecto StarFlow Extensions en el servidor Enterprise Advantage o Elite StarTeam (4.2 SP3 y 5.x).
- Sólo para StarTeam: Los editores alternativos de propiedades (APE) no están integrados en JBuilder X, sino que se muestran como cuadros de diálogo modales.
Solución: Actualice StarTeam Extensions a la versión 5.3 (aunque el servidor sea más antiguo). Copie starteam-extensions.jar
del directorio de instalación al directorio lib
de JBuilder. Si desea más información, consulte el archivo readme
de StarTeam Extensions 5.3.
- [CR 26700] Sólo para StarTeam: Si el proyecto necesita elementos de proceso, siempre que se realiza una acción StarTeam solicita que se elija un elemento de proceso válido en la ficha StarTeam del Visualizador de confirmaciones. Sin embargo, esto no debería ser necesario con las siguientes acciones: Deshacer extracción, Fusión y Manejar individualmente.
Solución: Cuando realice la acción Deshacer extracción, Fusión o Manejar individualmente en el Visualizador de confirmaciones, seleccione un elemento de proceso válido, pero no active la casilla de selección Marcar elemento de proceso seleccionado como arreglado/concluido/completo.
- [186445] Sólo para StarTeam: Falta la biblioteca de cifrado en JBuilderX. Sin ella, los usuarios no pueden conectarse a los servidores StarTeam cifrados.
Solución: Para conectarse a un servidor StarTeam mediante cifrado es necesario instalar una biblioteca de cifrado. Las versiones anteriores incluyen la biblioteca de cifrado RSA. La versión 5.4 puede utilizar una biblioteca de cifrado libre de derechos que está disponible en ISNetworks, en esta dirección URL: http://www.isnetworks.net/jceprovider/index.html. Para utilizar la biblioteca de cifrado de ISNetworks con el cliente multiplataforma StarTeam, copie el archivo ISNetworksProvider.jar
en el directorio JBuilderX\lib
.
- [178969] Sólo para StarTeam: Cuando se extrae un proyecto cuyo nombre de carpeta tiene un carácter "/" o "\" seguido de más caracteres se produce el error "Índice de cadena fuera de rango: -1." .
- [151112] Si un usuario intenta añadir más de cuatro archivos a la vez a un proyecto de Visual SourceSafe, el estado y la acción adecuada de los cuatro primeros archivos se muestran en los visualizadores de estado y confirmaciones, pero no aparecen los demás archivos.
Solución: Añada los archivos al proyecto de cuatro en cuatro, o añada todos los archivos a la base de datos de Visual SourceSafe, cierre los visualizadores de estado y confirmaciones y vuelva a abrirlos: de esta forma se presentan todos los archivos.
[ Volver al principio ]
XML
Sugerencias
Si no puede transformar un documento XML, compruebe que está utilizando la versión adecuada de la especificación de hoja de estilos, http://www.w3.org/1999/XSL/Transform, y no el borrador.
Ahora, Castor requiere compatibilidad con esquemas 2001, <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
. Si se utiliza una versión anterior se podría producir un error o una excepción. El ejemplo Castor ha sido actualizado: <JB_HOME>/samples/tutorials/XML/databinding/fromSchema/Castor.jpx
. Lo mismo se aplica a la validación de esquemas XML. Los últimos ejemplos de configuración Xerces con esquemas 2001 se encuentran en el directorio <JB_HOME>/extras/xerces/data/
.
Problemas conocidos
- [178821] Cocoon no se ejecuta.
Solución: Se trata de un problema de incompatibilidad de Tomcat con el JDK 1.4.2. Una forma de resolverlo consiste en copiar todos los jar relacionados con XML más recientes (xalan.jar
, xerces.jar
y xml-apis.jar
) en el subdirectorio <tomcat home>/common/endorsed
.
- [109759] Hay incoherencias en los requisitos para colocar los nombres de tablas entre comillas en los componentes XMLDBMSTable y XTable. XTable necesita comillas, mientras que XMLDBMSTable no.
- [109254] Cuando se intenta transferir datos a Interbase mediante XMLDBMSBeans, JBuilder se queda colgado.
Solución: Descargue la revisión InterClient/InterServer 2.02 en http://www.borland.com/devsupport/interbase/interclient.
- [108694] Tras introducir un valor en KeyEditor para el personalizador de XMLDBMSTable, el usuario tiene que pulsar Intro para que se acepte el valor. Además, el valor real muestra "<NL>" al final, lo que debe ser borrado.
[ Volver al principio ]
Depurador
Depuración remota
Cuando se realiza una conexión con un proceso que se ejecuta en un ordenador remoto, la dirección por defecto cambia de 5000 a 3999.
Para ver este cambio:
- Seleccione Proyecto|Propiedades de proyecto.
- Pulse la pestaña Ejecutar.
- Seleccione una configuración de ejecución y pulse Modificar.
- Haga clic en la pestaña Depurar. En la ficha Depuración, seleccione Activar depuración remota y pulse Conectar. Recuerde que el valor por defecto de la opción Dirección es 3999.
El puerto número/dirección que se configura en este campo debe coincidir con el parámetro de dirección para que se pueda ejecutar el programa desde la línea de comando del ordenador remoto.
Si está ejecutando Windows XP, no utilice 5000 como número o dirección de puerto para la comunicación del depurador con un ordenador remoto. XP reserva este número de puerto para Universal Plug & Play.
Sugerencias
- Cuando se compila una clase sin información de depuración, el depurador no puede detectar la información de las variables locales. Sin embargo, detecta el objeto "this". Si está depurando y sólo aparece el objeto "this", esto puede deberse a que la clase se ha generado sin información de depuración. También podría significar que no existen variables locales en la clase.
- En la depuración con los JDK 1.3.0, 1.3.0_01 y 1.3.0_02, resulta mucho más rápido utilizar el parámetro classic de la MV que utilizar HotSpot. Si percibe una ralentización evidente del programa cuando lo está depurando, pruebe a añadir la opción
-classic
como primer parámetro de la MV en las configuraciones de ejecución del proyecto, antes de depurarlo. Observe que JBuilder lo hará así por defecto cuando sea conveniente para estos JDK.
- JBuilder cuenta ahora con una casilla de selección en el cuadro de diálogo Configurar JDK (Herramientas|Configurar JDK), que permite definir si el parámetro
classic
se añade automáticamente a la línea de comandos de depuración cuando se utilice este JDK en el proyecto. JBuilder intenta poner una opción por defecto adecuada. Si el JDK no admite una MV clásica, esta opción no estará seleccionada.
- Si está sufriendo problemas intermitentes al depurar en JBuilder en entorno Windows, podrían ser causados por la presencia de
dt_shmem.dll
en el JDK. Esta DLL se utiliza como implementación del protocolo de depuración en Windows (en la comunicación entre el depurador y el depurado), y produce problemas intermitentes. Para evitar el uso de esta biblioteca, elimínela de todos los JDK que tenga previsto utilizar para depuración, y asegúrese de que ningún directorio que contenga esta DLL aparece en la variable de sistema PATH. Si lo hace así, se utilizará la alternativa dt_socket.dll
para el protocolo de depuración. Esta DLL no parece causar los problemas de dt_shmem.dll
.
Problemas conocidos
- [148698] La depuración de un proyecto de ejemplo falla cuando
<JB_HOME>
contiene caracteres internacionales (introducidos durante la instalación). También falla la depuración de los proyectos cuyos archivos se encuentren almacenado en un directorio con caracteres internacionales.
Solución: Realice una de las siguientes acciones:
- Cambie la vía de acceso de instalación de J2SE que utiliza el depurador, de
<JDK_HOME>\jdk1.4
a <JDK_HOME>jdk1.4\jre
.
- Copie
<JDK_HOME>\jdk1.4\jre\bin\dtshmem*
y <JDK_HOME>\jdk1.4\jre\bin\148 dt_socket*
en <JDK_HOME>\jdk1.4\bin
y ejecute el depurador con la vía de acceso de instalación de J2SE definida en el valor: <JDK_HOME>\jdk1.4
.
- [135160] Sólo para Linux: Cuando se utiliza la función de depuración remota de conexión de JBuilder como cliente de un proceso en ejecución remota, se lanza una excepción
sun.io.MalformedInputException
en sun.io.CharToByteSingleByte.convert()
.
Solución:
- Desactive los puntos de interrupción de "Todas las excepciones sin capturar" en el cuadro de diálogo Puntos de interrupción (Ejecutar|Ver puntos de interrupción).
- Modifique
JB_HOME/jdk1.4/jre/lib/font.properties
e inserte un carácter "#" al principio de cada línea que contenga la cadena "symbol".
- [134354] La parada en un punto de interrupción por excepción de una página JSP tiene un comportamiento extraño. Cuando el programa se para, no se muestra el punto de ejecución. La etiqueta de estado del depurador muestra una línea en el código Java de la JSP convertida y la barra de estado de JBuilder dice "Imposible encontrar Jsp1$jsp.java en la vía de acceso a clases/fuentes del proyecto". El punto de ejecución de los puntos de interrupción por excepción no se muestra en Tomcat 4.0 a menos que en el archivo JSP se defina también un punto de interrupción de línea.
- [100401] Sólo para Linux: Si se selecciona Omitir inspección, JBuilder se detiene.
Solución: Añada la opción -classic
como el primer parámetro de MV en las configuraciones de ejecución para el proyecto durante la depuración.
[ Volver al principio ]
Diseñador
El Diseñador admite código generado por VisualAge (versiones 3 y 4). Es posible abrir los archivos de código fuente generados por VisualAge y utilizar el Diseñador con ellos sin necesidad de modificarlos. Utilice el Diseñador para añadir componentes, copiar y pegar, desplazar componentes de un contenedor a otro, al primer lugar o al último lugar, y cambiar sus propiedades y limitaciones.
Sugerencias
Cuando JBuilder tiene que crear una instancia de un objeto de forma que sea el objeto this
, no puede crear una instancia del objeto que se está diseñando. Para evitar este problema, JBuilder crea una instancia de la superclase del objeto this
. Pero si la superclase es abstracta, no se puede instanciar. Es necesario facilitar una clase de proxy concreta.
Si lo desea, puede añadir objetos proxy propios al archivo user.properties
. La sintaxis es la siguiente:
designer;proxy.<nombre completo de la clase abstracta>=<nombre completo de la clase concreta que se utiliza como proxy>
Por ejemplo:
designer;proxy.java.awt.Component=com.borland.jbuilder.designer.dt.ComponentProxy
La clase utilizada como proxy debe:
- Ampliar la clase abstracta en cuestión.
- Ser concreta (no declararse abstracta).
- Ser pública.
- Utilizar un constructor
público
por defecto.
Advertencia: Por lo general es recomendable no modificar el archivo user.properties
. Si es necesario hacer algún cambio, guarde antes la versión original como copia de seguridad.
Si desea más información sobre los beans rojos y sus causas, consulte "Gestión de beans rojos" en el apartado "Temas avanzados" de Diseño de aplicaciones con JBuilder.
Problemas conocidos
- [186526] Si hay varios archivos abiertos en el Diseñador y se asigna a un archivo un aspecto diferente del utilizado en la ejecución de JBuilder, el contenido de las vistas Diseño y Fuente se desincroniza en relación con los otros archivos.
Solución: Cierre JBuilder y reinicie. Si desea comprobar la aplicación con un aspecto diferente, es recomendable cambiar el aspecto de JBuilder mediante Herramientas|Preferencias|Visualizador|Aspecto en lugar de seleccionar Aspecto en el menú contextual del Diseñador.
- [181575] Si se coloca un contenedor Swing (como JFileChooser) y a continuación se selecciona "FLASH_OPTION" para debugGraphics, JBuilder se detiene.
- [108178] Si se intenta definir un manejador de sucesos con el mismo nombre que el suceso, se genera un código que desborda la pila cuando se ejecuta. Este código es totalmente válido; simplemente, se produce una llamada recursiva.
[ Volver al principio ]
OpenTools
Si se realizan determinadas llamadas a las clases del Visualizador de la API de Open Tools desde el método jbInit()
de una clase diseñada en el Diseñador de interfaces, JBuilder muestra problemas de respuesta y de retrazado de la pantalla. Las llamadas que provocan este comportamiento son:
Browser.findBrowser()
Browser.getActiveBrowser()
Browser.getBrowsers()
Browser.getBrowsersNonZ()
La solución consiste en desplazar estas llamadas del método jbInit()
de la clase a otro método, como el constructor.
[ Volver al principio ]
Ahora hay dos versiones de la Biblioteca de componentes de JBuilder (JBCL). La biblioteca de componentes JBCL original está basada en Swing, y sus clases se encuentran en jbcl.jar
. Se ha creado una versión adicional de la JBCL, basada en Awt. Sus clases se encuentran en el nuevo archivo jbcl-awt.jar
, que se puede utilizar para distribuir aplicaciones que necesitan una interfaz con más rendimiento y menos elementos gráficos para dispositivos con limitaciones de memoria, como las agendas PDA y los teléfonos inteligentes. Si utiliza el diseñador visual de JBuilder para desarrollar las aplicaciones, debe utilizar el archivo jbcl.jar
basado en Swing durante el desarrollo. El diseñador visual de JBuilder no funciona correctamente con los componentes basados en AWT. Sin embargo, se puede utilizar jbcl-awt.jar
para distribuir la aplicación.
En este momento, JDataStore se puede ejecutar con implementaciones de PersonalJava, como la que se incluye en el Compaq iPaq, basado en Pocket PC, y en los dispositivos Sharp Zaurus, basados en Linux.
Existen dos ejemplos nuevos de DataExpress: HTTPProviderResolver
y HTTPSProviderResolver
. En ellos se muestra la forma de escribir una aplicación que obtiene datos de un servidor web a través de una conexión HTTP y restablece la sincronización. También se hace lo mismo con una conexión segura SSL a través de HTTPS.
[ Volver al principio ]
Unix:
Sugerencias
Impresión en plataformas Linux y Solaris
Una solución para los usuarios de plataformas Unix que no necesitan usar componentes AWT en el diseñador y desean poder seleccionar una impresora que no sea lpr
consiste en convertir en comentario la línea del archivo JBuilder.config
que añade el kit de herramientas ligero a la vía de acceso de inicio, como se muestra a continuación:
# Poner el kit de herramientas ligero en la vía de acceso de inicio
#addbootpath ../lib/lawt.jar
Applets
Para ejecutar un applet en Solaris o Linux desde JBuilder, debe añadir la biblioteca Open Tools SDK al proyecto. Si no se añade esta biblioteca se puede producir una excepción del tipo "NoClassDefFoundError:AppletTestbed". Este problema afecta actualmente a algunos de los ejemplos de applet, incluido el ejemplo Primes de la carpeta Swing.
Problemas conocidos
[ Volver al principio ]
Ejemplos
El archivo samples.html
debería verse en JBuilder o desde el enlace de Proyecto de bienvenida cuando los archivos del proyecto se cargan en JBuilder por medio de los enlaces. Sin emabrgo, si se configuran las asociaciones de archivos de forma que los proyectos de JBuilder se asocien a esta herramienta, samples.html
se puede ver en la mayoría de los navegadores, y los enlaces de los proyectos funcionan correctamente.
Problemas conocidos
[ Volver al principio ]
Rendimiento
Éstas son algunas sugerencias para aumentar el rendimiento local de JBuilder.
- Se puede obtener un mejor rendimiento en la liberación de memoria si se activa la limpieza incremental de memoria. Para ello, utilice esta configuración de MV:
vmparam -Xincgc
Conviene tener en cuenta que, aunque la limpieza incremental de la memoria ayuda a reducir la sobrecarga del proceso, por otra parte reduce notablemente la velocidad de la MV. No es recomendable utilizar esta función si no se observan largas pausas provocadas por la liberación de memoria mientras se utiliza JBuilder.
- Se puede reducir el análisis del código fuente del panel de estructura aumentando el tiempo de retardo Para ello, haga clic con el botón derecho del ratón en el panel de estructura y seleccione Propiedades. Aumente el valor de Retardo en el análisis.
Para obtener un rendimiento óptimo de Together, confirme que está utilizando la cantidad mínima de requisitos del sistema.
[ Volver al principio ]
Internacional
Instalación en equipos NEC japoneses:
[75607] Si está instalando JBuilder en un equipo NEC japonés y el programa de instalación provoca un mensaje de error en el sistema operativo que dice "Drive C: is not ready... the drive door may be open...", se debe pulsar el botón <Omitir> del cuadro de diálogo. La instalación se realizará normalmente. (El botón <Detener> también funciona.)
Fuentes japonesas en Linux:
[75704][75705] Si se experimentan problemas en la presentación de fuentes japonesas en Linux, quizá sea necesario actualizar el archivo <jdk1.3.1>/jre/lib/font.properties.ja
. En la página web de JavaSoft se facilitan instrucciones en japonés para hacerlo: Instrucciones para modificar el archivo font.properties (en japonés).
Compilador de línea de comandos:
- [79877] (Sólo en plataformas MS Windows). Las versiones europeas de los compiladores de línea de comandos (bcj y bmj) pueden mostrar caracteres acentuados incorrectamente en la ventana de consola. La solución consiste en iniciar el compilador del siguiente modo (tenga en cuenta que
<vía_a_JBuilder>/lib/jbuilder.jar
debe encontrarse en la vía de acceso a clases): java -Dfile.encoding=Cp850 com.borland.compiler.frontend.Main -encoding Cp1252 myFile.java
La primera opción de codificación se pasa a la máquina virtual y la segunda al compilador. En este ejemplo se presupone que se utiliza la página de códigos 850 en la ventana de consola (según muestra el comando chcp
) y que los archivos java están codificados con la página de códigos 1252 (lo habitual cuando se utiliza un editor basado en Windows, en lugar del "antiguo" editor basado en DOS). Si el programa envía caracteres acentuados a la ventana de consola, se mostrarán correctamente si se utiliza lo siguiente (siempre que la ventana de consulta utilice la página de códigos 850, como indica el comando chcp
de DOS):
java -Dfile.encoding=Cp850 myClassFile
Otros problemas conocidos:
[ Volver al principio ]
Documentación
Si la versión de JBuilder no contiene los archivos en PDF de la documentación en uno de los CD del producto, se pueden descargar de la página web de documentación de productos de JBuilder: http://info.borland.com/techpubs/jbuilder/. También se puede visitar esta página en busca de actualizaciones de la documentación.
Para consultar las FAQ y TI más recientes de JBuilder visite:
Si desea más información sobre el modelado con Together, pulse aquí.
Problemas conocidos
- [160147] JBuilder y Together no comparten las vías de acceso de la documentación.
[ Volver al principio ]