tag:blogger.com,1999:blog-92064971935195059162024-03-14T02:56:09.662-07:00Jesfre's blogJesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.comBlogger31125tag:blogger.com,1999:blog-9206497193519505916.post-43092427278600066602014-08-07T20:17:00.002-07:002014-08-18T10:14:17.570-07:00Aplicación Java para dividir un archivo de texto muy grande en varios archivos más pequeñosEn varias ocasiones he tenido que lidiar con archivos de texto extremadamente largos, con miles de líneas de texto, y en una de esas veces me tocó un archivo de Log con cientos de miles de líneas que mis editores de texto en Windows no podían abrir, y los que si lo lograban, no me permitían manipular el archivo sin antes quedarse congelados. Aunque encontré algunas herramientas en línea que podían abrir el archivo y permitirme leer, no me permitían manipularlo.<br />
<br />
Mi solución, para mi caso particular, fue dividir el archivo en varios archivos más pequeños, ya que era un Log de transacciones de una aplicación y solo necesitaba depurar usando las entradas del log. Lo que hice fue escribir un pequeño programa en Java. Hace poco le agregué una interfaz gráfica para facilitar su uso.<br />
<br />
Para utilizar esta herramienta deberás contar con lo siguiente:<br />
<ol>
<li>Tener instalado el JRE 6 de Java. el común de los equipos ya deben tenerlo instalado. Solo deberás tener por seguro que tienes la versión 6.</li>
<li>Descargar <a href="https://github.com/jesfre/file-splitter/blob/master/text-splitter-pack.zip?raw=true">la herramienta desde el repositorio en GitHub</a>.</li>
<li>Descomprimir el archivo ZIP en una ubicación que conozcas. Por ejemplo, en <span style="font-family: Courier New, Courier, monospace;">C:\Users\jesfre\Documents\text-splitter-pack</span>. En tu caso sería tu nombre de usuario.</li>
<li style="text-align: left;">Entrar a la carpeta y hacer doble-clic en el archivo <b>run.bat</b>. Deberá abrirse una ventana de comandos y ejecutarse automáticamente una pequeña interfaz gráfica similar a esta:</li>
</ol>
<span class="fullpost">
</span>
<div style="text-align: center;">
<span class="fullpost"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZYYZiblmotM3P-Y0GZ78tYs_N5cSTdH2GI1IhBnwcMQErnIp8xS7j8sOK1b0H6hzJGi0YEblQ06mgu_hnqhRyidb-5qNLSb2z2Vekjj6IhgqyfhES7klseAG-zxR5mmFNcpbTsv7Bdjs/s1600/swing-file-splitter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZYYZiblmotM3P-Y0GZ78tYs_N5cSTdH2GI1IhBnwcMQErnIp8xS7j8sOK1b0H6hzJGi0YEblQ06mgu_hnqhRyidb-5qNLSb2z2Vekjj6IhgqyfhES7klseAG-zxR5mmFNcpbTsv7Bdjs/s1600/swing-file-splitter.png" height="207" width="320" /></a></span></div>
<span class="fullpost">
<ol>
<li>En esta ventana deberás:</li>
</ol>
<ul>
<li>Seleccionar el archivo de texto muy grande que quieres dividir.</li>
<li>Seleccionar la carpeta donde quieres que se guarden los archivos más pequeños que se generarán como resultado de la división del archivo grande.</li>
<li>Asignar la cantidad máxima de líneas que deberá tener cada archivo dividido. Por ejemplo, si el archivo grande tiene 1200 líneas de texto, y quieres que se generen 10 archivos más pequeños, deberás asignar en <i>Set the number of lines per file:</i> la cantidad de 120.</li>
<li>Hacer clic en <i>Save files</i> para generar los nuevos archivos. En mi caso, el archivo se llama <b>prueba_archivo grande.txt</b> y contiene 389 líneas de texto.</li>
<li>Al terminar deberás poder ver los resultados de la siguiente forma:</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtFlaJMG3SU_10yIVwMuyfvE9jYF3jwb_8ohDCl9MQ5k-YKgxrErEHiT6A4dbmA08XtJVONpXoyYAYlRI716_GMJ0N8sHdReRs9EeAXmObbMT5g9ejmlzVNQ4Cht5ZUZ9FhHXOnR68lv0/s1600/archivos_generados.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtFlaJMG3SU_10yIVwMuyfvE9jYF3jwb_8ohDCl9MQ5k-YKgxrErEHiT6A4dbmA08XtJVONpXoyYAYlRI716_GMJ0N8sHdReRs9EeAXmObbMT5g9ejmlzVNQ4Cht5ZUZ9FhHXOnR68lv0/s1600/archivos_generados.png" height="250" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
Para ver tus archivos, navega hasta la carpeta que seleccionaste en <i>Target folder...</i> y verás los nuevos archivos que han sido generados recortando el archivo más grande.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6pzgaK5_f-cg5p_1LMde3S_9hfu2mWyoImWga90Pa_c4AAS0V259YAWsDUiNXmRMefbEp39qqYK1GaNPWicTFXkzOFHzyC-zrio_ZbutSdpatpuqoJLZn0SDnfHDXKyBcEOWg97JLvGI/s1600/archivos_generados_explorador.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6pzgaK5_f-cg5p_1LMde3S_9hfu2mWyoImWga90Pa_c4AAS0V259YAWsDUiNXmRMefbEp39qqYK1GaNPWicTFXkzOFHzyC-zrio_ZbutSdpatpuqoJLZn0SDnfHDXKyBcEOWg97JLvGI/s1600/archivos_generados_explorador.png" height="205" width="400" /></a></div>
<div style="text-align: center;">
<br /></div>
<br />
Para terminar, simplemente cierra la ventana de la aplicación.</div>
<div>
<br />
Esta herramienta funciona con cualquier archivo que contenga texto plano, como archivos de tipo .txt, .csv, entre otros.<br />
<br /></div>
Podrás ver que es una herramienta muy simple. Ahora te invito a compartirla y mejorarla, pues es de código abierto y está disponible en <a href="https://github.com/jesfre/file-splitter">https://github.com/jesfre/file-splitter</a>.<br /><div>
<br /></div>
<br />
<br />
</span>
<br />
<br />Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com4tag:blogger.com,1999:blog-9206497193519505916.post-66235560369319858512014-07-29T10:52:00.001-07:002014-07-29T10:52:17.524-07:00Mavenizar un proyecto Web existente usando project-mavenizerAunque personalmente no me gusta el anglicismo Mavenizar, es el tema que abordaré para esta guía.<br />
<div>
Explicaré cómo mavenizar un proyecto Web que no cumple con la <a href="http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html" target="_blank">estructura de directorios estándar de <span style="background-color: white;">Maven</span></a><span style="background-color: white;">. Estos proyectos no estándares pueden ser aquellos que han sido construidos hace ya un tiempo atrás, legados, o aquellos generados usando las herramientas de un IDE como Eclipse y por lo cual no se ajustan a los requerimientos convencionales de Maven. En ocasiones he </span><br />
<span style="background-color: white;">mavenizado algún proyecto ya existente </span><span style="background-color: white;">que he tenido que modificar </span><span style="background-color: white;">para aprovechar los beneficios de algunos plugins de Maven</span><span style="background-color: white;"> </span><span style="background-color: white;">y así evitar reinventar la rueda en su código.</span></div>
<div>
<span style="background-color: white;">Además, esta guía tiene el objetivo de explicar el funcionamiento de una herramienta de código abierto para llevar a cabo la tarea de mavenización. La herramienta es <a href="https://github.com/jesfre/project-mavenizer" target="_blank">project-mavenizer</a>. Con esta herramienta podremos generar un archivo de configuración POM que pueda utilizar la estructura no estándar del proyecto existente, en vez de modificar la estructura del proyecto para que se ajuste a las convenciones de Maven.</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;">La <a href="https://github.com/jesfre/project-mavenizer/wiki/Guide" target="_blank">guía de project-mavenizer</a> la podemos encontrar también en inglés, nivel Tarzán, en GitHub.</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<h3>
<span style="background-color: white; font-size: large;">Descargar y descomprimir la herramienta</span></h3>
<div>
<ol>
<li><span style="background-color: white;">Descarga <a href="https://github.com/jesfre/project-mavenizer/blob/master/project-mavenizer-pack.zip?raw=true" target="_blank">la herramienta desde GitHub</a>. Este es un archivo ZIP llamado <i>project-mavenizer-pack.zip</i> que contiene:</span></li>
<ul>
<li><span style="background-color: white;">La herramienta de mavenización <i>project-mavenizer-0.0.1.jar</i>.</span></li>
<li><span style="background-color: white;">Un proyecto Web de ejemplo llamado <em style="box-sizing: border-box; color: #333333; font-family: Helvetica, arial, freesans, clean, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol'; line-height: 25.5px;">NonStandardWebProject</em> que no cumple con el estándar de directorios de Maven.</span></li>
<li><span style="background-color: white;">El archivo <i>sample.properties</i> que deberás editar, y opcionalmente renombrar, para poder usar con tu proyecto.</span></li>
</ul>
<li><span style="background-color: white;">Descomprime el archivo </span><i>project-mavenizer-pack.zip</i><span style="background-color: white;"> en una ubicación bien identificada; por ejemplo en</span><span style="font-family: Courier New, Courier, monospace;"> C<span style="line-height: 20.399999618530273px;">:\mavenizator\project-mavenizer-pack\.</span></span></li>
</ol>
</div>
<span class="fullpost">
<h3>
<span style="background-color: white; font-size: large;">Agregar tus configuraciones</span></h3>
<div>
<ol>
<li><span style="background-color: white;">Deberás editar el archivo <span style="font-family: Courier New, Courier, monospace;"><span style="color: #333333; line-height: 20.399999618530273px;">C:\mavenizator\project-mavenizer-pack\sample.properties</span> </span>y seguir las instrucciones que vienen en el mismo. En resumen es asignar los siguientes valores:</span></li>
</ol>
<ol><ul>
<li><span style="background-color: white;">Asignar un nombre al proyecto, digamos <i>miproyectomaven</i>. Este será también el nombre del archivo WAR generado.</span></li>
<li><span style="background-color: white;">Asignar la ubicaci</span><span style="background-color: white;">ón de la carpeta de tu proyecto. Para el caso de nuestro ejemplo de prueba es <span style="color: #333333; line-height: 20.399999618530273px;"><span style="font-family: Courier New, Courier, monospace;">C:\mavenizator\project-mavenizer-pack\NonStandardWebProject</span></span>.</span></li>
<li><span style="background-color: white;">Asignar la ruta a la carpeta con el contenido Web del proyecto. Para nuestro ejemplo, <span style="color: #333333; line-height: 20.399999618530273px;"><span style="font-family: Courier New, Courier, monospace;">C:\mavenizator\project-mavenizer-pack\NonStandardWebProject\WebContent</span></span>.</span></li>
<li><span style="background-color: white;">Asignar la ruta a las carpetas con código fuente y recursos para el classpath del proyecto. En el archivo <i>sample.properties</i> vienen unos ejemplo.</span></li>
<li><span style="background-color: white;">Asignar la ruta a la carpeta que contiene todas las librerías usadas en tu proyecto. Ve el ejemplo en el archivo.</span></li>
</ul>
</ol>
</div>
<h3>
<span style="background-color: white;"><span style="font-size: large;">
Mavenizar el proyecto Web</span></span></h3>
<div>
<ol>
<li><span style="background-color: white;">Abre una ventana de comandos y navega hacia la carpeta que descomprimiste. En los siguientes ejemplos estaré usando MS-DOS.</span></li>
<li><span style="background-color: white;">Desde tu ubicación en línea de comandos, ejecuta lo siguiente: <span style="color: #333333; line-height: 20.399999618530273px;"><span style="font-family: Courier New, Courier, monospace;">c:\mavenizator\project-mavenizer-pack> java -jar project-mavenizer-0.0.1.jar</span></span>.</span></li>
</ol>
<span style="background-color: white;">Deberás ver algo similar a esto:</span><br />
<blockquote class="tr_bq">
<span style="background-color: white; font-family: Courier New, Courier, monospace;">C:\mavenizator\project-mavenizer-pack> java -jar project-mavenizer-0.0.1.jar</span> </blockquote>
<blockquote class="tr_bq">
<span style="background-color: white; font-family: Courier New, Courier, monospace;">Set the properties file name:</span><span style="background-color: white; font-family: Courier New, Courier, monospace;">sample.properties</span> </blockquote>
<blockquote class="tr_bq">
<span style="background-color: white; font-family: Courier New, Courier, monospace;">Loading /C:/mavenizator/project-mavenizer-pack/sample.properties</span> </blockquote>
<blockquote class="tr_bq">
<span style="background-color: white; font-family: Courier New, Courier, monospace;">Generated file is: C:/mavenizator/project-mavenizer-pack/NonStandardWebProject\pom.xml</span> </blockquote>
<blockquote class="tr_bq">
<span style="background-color: white; font-family: Courier New, Courier, monospace;">C:\maveni</span><span style="background-color: white; font-family: Courier New, Courier, monospace;">zator\project-mavenizer-pack></span></blockquote>
<span style="background-color: white;"><br />
</span><br />
<h3>
<span style="background-color: white; font-size: large;">Probarlo</span></h3>
<ol>
<li>Ahora puedes usar tu proyecto como un proyecto Web Maven. El pom.xml generado en el proyecto tiene las<span style="background-color: white;"> configuraciones necesarias para correr la aplicación usando un Tomcat embebido. Para correrlo, desde la ventana de comandos navega a la carpeta del proyecto Web y ejecuta <span style="color: #333333; line-height: 20.399999618530273px;"><span style="font-family: Courier New, Courier, monospace;">c:\mavenizator\project-mavenizer-pack\NonStandardWebProject > mvn clean tomcat7:run</span></span>.</span></li>
</ol>
<ol>
<li><span style="background-color: white;">Si puedes ver algo similar a <span style="color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; line-height: 20.399999618530273px;">Starting ProtocolHandler ["http-bio-9966"]</span> y sin errores previos entonces abre el enlace <a href="http://localhost:9966/miproyectomaven/" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; line-height: 25.5px; outline: 0px;"><span style="color: blue; font-family: inherit;">http://localhost:9966/miproyectomaven/</span></a> desde un navegador de Internet.</span></li>
</ol>
<br /></div>
<span style="background-color: white;">Después de ejecutar el comando se deberá haber generado un nuevo archivo pom.xml en la carpeta raíz del proyecto. Sería <span style="color: #333333; line-height: 20.399999618530273px;"><span style="font-family: Courier New, Courier, monospace;">c:\mavenizator\project-mavenizer-pack\NonStandardWebProject\pom.xml</span></span>.</span><br />
<div>
<br /></div>
<div>
<br /></div>
<div>
Prueba la herramienta, espero que te sirva y, si quieres, puedes mejorarlo pues es de código abierto. El código está disponible en <a href="https://github.com/jesfre/project-mavenizer">https://github.com/jesfre/project-mavenizer</a>.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-38819740389293077002014-06-04T12:56:00.003-07:002014-06-04T12:56:48.373-07:00Cómo convertirse en un desarrollador de aplicaciones Web modernasEn este artículo busco resumir mi experiencia en cuanto a los pasos o la trayectoria que normalmente se seguiría para llegar a dominar el desarrollo de aplicaciones Web.<br />
Aunque yo aprendí de forma distinta, ya que me tuve que meter de lleno al desarrollo e ir aprendiendo al paso, lo más normal y muy efectivo es siempre iniciar de cero. Pero, para aquellas personas que ya tienen bases o experiencia, puede que haya sido distinto. Lo siguiente, sin embargo, lo comprendí después de haber estado enseñando a mi futura esposa cómo desarrollar aplicaciones Web y viendo la forma en que ella aprendía.<br />
<br />
<b>Primero: Identifica qué es lo que sabes y comienza por lo básico, lo que aun no conoces.</b><br />
Haz un análisis de los conocimientos que tienes actualmente. Normalmente, si estas estudiando una carrera, estarás aprendiendo algún lenguaje de programación, y cualquiera que este sea te será muy útil. Entre las cosas básicas que deberás aprender están:<br />
<br />
HTML: Luego de aprenderlo, también deberás comprender lo que es XHTML.<br />
El protocolo HTTP: Deberás entender qué son las peticiones, tipos y cómo se procesan.<br />
CSS: Qué es, cómo se agrega al HTML y cómo se usa.<br />
Javascript: Ees una de las herramientas más importantes para tí como desarrollador de aplicaciones Web modernas; debes aprender qué es, cómo se agrega al HTML y cómo funciona. Aquí deberás hacer uso de tus conocimientos de programación; si no tienes ningún conocimiento de programación, no te preocupes ya que encontrarás muchos tutoriales que también te ensañan las nociones de la programación a través de Javascript.<br />
<br />
De todas estas puedes encontrar infinidad de manuales y tutoriales en todo Internet.<br />
<br />
<b>Segundo: Determinar hasta dónde quieres llegar.</b><br />
Ten en cuenta que para desarrollar aplicaciones Web deberás aprender distintas tecnologías, algunas ya las he mencionado, y dependiendo de la complejidad con la que has de desarrollar las aplicaciones y el tipo de <a href="http://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web">aplicaciones Web</a>. <br />
De acuerdo a la complejidad necesitarás aprender lo siguiente:<br />
<br />
XML (ya habrás entendido un poco al leer acerca de XHTML)<br />
Un lenguaje para el servidor (aquí comienza el dinamismo de las aplicaciones Web) como Java, PHP, lenguajes de .Net, etc. Esto ya dependerá de varios factores como el proyecto y tus gustos. Ten en cuenta que al decidirte por una tecnología para el servidor, habrás de aprender además otras tecnologías necesarias para el desarrollo de tus aplicaciones.<br />
<br />
<b>Tercero: Paciencia y entusiasmo.</b><br />
Puedo decir que este es el flujo de aprendizaje común para comenzar a desarrollar aplicaciones Web. Puedes comenzar haciendo pequeñas páginas usando HTML y CSS, luego agregarle alguna intereactividad con Javascript, y posteriormente agregarle complejidad.<br />
Pero como siempre, para llegar al lugar que quieres, deberás tener paciencia y estar dispuesto a leer y hacer "pininos" conforme aprendas nuevas cosas. Ten en cuenta que no te servirá mucho si devoras un libro Javascript sin hacer ejemplos, ya que esto se trata de <span style="font-weight: bold;">leer, entender y poner en práctica</span>. Tal vez este último punto lo puedo resumir en, <span style="font-weight: bold;">pasión</span>.<br />
<br />
Espero te sirva.<br />
<span class="fullpost"> </span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-30800264782749519532014-05-21T08:52:00.000-07:002014-05-26T09:20:56.266-07:00Problemas con SpringSource Tool Suite + PapyrusActualmente estoy trabajando sobre un proyecto de código abierto, y algunos otros de mi trabajo; en los cuales he requerido generar cierta documentación técnica. Para realizar la documentación he decidido utilizar alguna herramienta libre o gratuita para diagramar el sistema. Después de buscar y probar algunos encontré <a href="http://www.eclipse.org/papyrus/" target="_blank">Papayrus</a> de la fundación Eclipse, y quise probarlo.<br />
<div>
<br /></div>
<div>
Después de haber instalado el plugin en <a href="http://spring.io/tools/sts" target="_blank">STS</a> (SpringSource Tool Suite o Spring Tool Suite) a través del <a href="http://www.eclipse.org/papyrus/updates/index.php" target="_blank">Update Site</a>, fue momento para comenzar a usarlo. Pero la sorpresa fue que al crear un proyecto o un modelo de Papyrus, la ventana del Wizard no cerraba al hacer click en Finish, y al intentar abrir el modelo desde el Project Explorer, marcaba el siguiente error.</div>
<div>
<br /></div>
<div>
<pre style="white-space: pre-wrap; word-wrap: break-word;"><span style="background-color: white; font-family: Courier New, Courier, monospace;">Your model is corrupted, invalid links have been found: <span style="line-height: 16px;">Problems encountered while loading one of the models.</span></span></pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;"><span style="background-color: white; line-height: 16px;"><span style="font-family: Courier New, Courier, monospace;">...</span></span></pre>
<pre style="white-space: pre-wrap; word-wrap: break-word;"><span style="background-color: white; line-height: 16px; white-space: normal;"><span style="font-family: Courier New, Courier, monospace;">org.eclipse.papyrus.infra.core.resource.uml.UmlModel : org.eclipse.core.internal.resources.ResourceException: Resource '../../model.uml' does not exist.</span></span></pre>
</div>
<div>
<br /></div>
<div>
Después de busccar un rato por Google, encontré en un <a href="http://www.eclipse.org/forums/index.php/t/637696/" target="_blank">foro</a> que puede ser por conflicto de versiones de un plugin, Google Guava. Para resolver el problema y poder utilizar Papyrus desde el STS lo que hice fue:</div>
<div>
<br /></div>
<div>
<ol>
<li>Ir a la carpeta de plugins de STS. .../sts-3.4.0.RELEASE-test-papyrus/plugins/</li>
<li>Buscar la palabra "guava".</li>
<li>Encontré dos versiones com.google.guava_11.0.2.v201303041551 y com.google.guava_13.0.0.</li>
<li>Moví com.google.guava_13.0.0 a una carpeta distinta como respaldo, para dejar solamente la versión 11.0.2.</li>
<li>Reincié STS.</li>
<li>Volví a crear un nuevo proyecto de Papyrus, y todo comenzó a funcionar correctamente.</li>
</ol>
</div>
<div>
Si llegan a tener el mismo problema espero les pueda funcionar esta solución.</div>
<div>
Esperemos a que en las nuevas versiones resuelvan este problema.</div>
<div>
<br /></div>
Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-57009180609952334852013-01-26T00:19:00.002-08:002013-01-28T19:20:43.671-08:00Cliente para HSQLDB en Windows<h3>
<b>Bases de datos en memoria</b></h3>
Cuando comenzamos a trabajar con las bases de datos en memoria como lo son <a href="http://www.h2database.com/html/main.html" target="_blank">H2</a>, <a href="http://www.hsqldb.org/" target="_blank">HSQLDB </a>(antes HypersonicSQL) o <a href="http://db.apache.org/derby/" target="_blank">Derby</a>, encontramos que son excelentes herramientas para tener acceso rápido a datos persistentes; y que ofrecen grandes ventajas para construcción de software de todo tipo en Java. Ya sea como base de datos temporal de nuestra aplicación empresarial, para ejecución de pruebas o para demostraciones a los clientes, siempre se hace indispensable la administración visual de estas bases de datos, tablas, registros, etc.<span class="fullpost"> </span><br />
<div>
<br /></div>
<div>
Las herramientas gráficas de administración de las <a href="http://en.wikipedia.org/wiki/Relational_database_management_system" target="_blank">RDBMS </a>como los TOAD, <a href="http://www.webyog.com/" target="_blank">SQLyog</a>, MySQL Workbench, SQL Developer, entre otros, ofrecen grandes facilidades para las bases de datos correspondientes. Pero, ¿y para las bases de datos en memoria? </div>
<div>
<br /></div>
<div>
<a href="http://squirrel-sql.sourceforge.net/" target="_blank">SQuirreL SQL Client</a> es la herramienta gráfica que utilizo para visualizar mis bases de datos en memoria, ya sea con <a href="http://www.h2database.com/html/main.html" target="_blank">H2</a>, <a href="http://www.hsqldb.org/" target="_blank">HSQLDB </a>o <a href="http://db.apache.org/derby/" target="_blank">Derby</a>, aunque también soporta otros motores de bases de datos tradicionales.</div>
<div>
<br /></div>
<div>
<a href="http://squirrel-sql.sourceforge.net/" target="_blank">SQuirreL SQL Client</a> es muy sencillo de configurar y utillizar. Pero con la introducción de Windows Vista/7 encontré un problema al intentar instalarlo y posteriormente al intentar correr la herramienta.</div>
<div>
<br /></div>
<div>
Mi ambiente de trabajo:</div>
<div>
<ul>
<li>Laptop Mexicana </li>
<li>Procesador de 64bits</li>
<li>8GB de RAM </li>
<li>Windows 7 Professional de 64 bits</li>
</ul>
</div>
<div>
<h3>
Problema al instalar SQuirreL SQL Client en Windows 7</h3>
El primer problema surgió al intentar instalar <a href="http://squirrel-sql.sourceforge.net/" target="_blank">SQuirreL</a>, ya que no permitía crear la carpeta de instalación en Program Files (x86), esto por el permisos de seguridad.<br />
Tratándose de un archivo JAR el instalador del programa, <b>Windows no da la opción de Correr en modo administrador</b>.<br />
Por lo tanto, al intentar crear la carpeta de instalación de SQuirreL muestra el error: <span style="font-family: inherit;">"<b><em style="background-color: white; font-style: normal; line-height: 16px;">This directory</em><span style="background-color: white; color: #222222; line-height: 16px;"> can not be </span><em style="background-color: white; font-style: normal; line-height: 16px;">written</em><span style="background-color: white; color: #222222; line-height: 16px;">! </span><em style="background-color: white; font-style: normal; line-height: 16px;">Please chose another directory</em></b>"</span></div>
<div>
La instalación se lleva a cabo con el clásico Next>Next.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<br /></div>
<div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<img height="150" src="http://i.snag.gy/0eSH9.jpg" width="200" /> <img height="150" src="http://i.snag.gy/V7EBu.jpg" width="200" /> </div>
<br />
<div>
</div>
<div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<img height="150" src="http://i.snag.gy/baaK7.jpg" width="200" /> </div>
<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<img src="http://i.snag.gy/RJ18f.jpg" style="text-align: center;" /></div>
<br />
<div>
</div>
<span class="fullpost">
</span>
<div>
<h3>
<span class="fullpost">
Solución 1 al problema de seguridad: Desactivar la seguridad del control de acceso</span></h3>
</div>
<span class="fullpost">
<div>
Para solucionarlo se puede bajar el nivel de seguridad en el control de acceso de Windows. Esto significará <span style="font-family: inherit;">reiniciar el equipo antes de poder ejecutar nuevamente la instalación, y nuevamente después de haber instalado para incrementar nuevamente la seguridad. <span style="background-color: white; color: #111111; line-height: 18px;"><a href="http://java.com/es/download/faq/uac.xml" target="_blank">Procedimiento para desactivar UAC</a>. No queremos esto.</span></span><br />
<span style="font-family: inherit;"><span style="background-color: white; color: #111111; line-height: 18px;"><br /></span></span>
<br />
<h3>
Solución 2 al problema de seguridad: Abrir desde navegador</h3>
<span style="font-family: inherit;"><span style="background-color: white; color: #111111; line-height: 18px;">Otra opción para poder ejecutar completamente la instalación de SQuirreL, es </span></span><br />
<br />
<ol>
<li><span style="font-family: inherit;"><span style="background-color: white; color: #111111; line-height: 18px;">A</span></span><span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;">brir </span><span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;">un navegador de Internet (IE) </span><b style="color: #111111; font-family: inherit; line-height: 18px;">en modo administrador</b><span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;"> (Para este caso no usaremos </span><a href="http://www.google.com/chrome" style="font-family: inherit; line-height: 18px;" target="_blank">Google Chrome</a><span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;">)</span></li>
<li><span style="font-family: inherit;"><span style="background-color: white; color: #111111; line-height: 18px;">Arrastrar y soltar el instalador de SQuirreL en la ventana del navegador. En mi caso: <b>C</b></span></span><span style="color: #111111;"><span style="line-height: 18px;"><b>:\downz\</b></span></span><b style="color: #111111; line-height: 18px;">squirrel-sql-3.3.0-install.jar. </b><span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;">O copiar la ruta del archivo del Explorador de Windows y pegarlo en la barra de direcciones del navegador.</span></li>
<li><span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;">En la ventana de diálogo, seleccionen </span><b style="color: #111111; font-family: inherit; line-height: 18px;">Abrir</b><span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;">.</span></li>
</ol>
<br />
<img height="203" src="http://i.snag.gy/j9Sdr.jpg" width="400" /><br />
<span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;">Esto ejecutará el archivo de instalación en modo administrador, con lo que permitirá terminar la instalación del programa.</span><br />
<span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;"><br /></span>
<br />
<h3>
<span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;">Problema para ejecutar el programa recién instalado y solución</span></h3>
<span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;">Al finalizar la instalación de SQuirreL podríamos comenzar a usar la aplicación. Pero surge ahora un nuevo problema. Al hacer doble clic o correr el archivo por lotes que ejecuta el programa, simplemente no lo carga. El problema está en que el archivo por lotes que ejecuta el programa necesita una corrección ya que la ruta de instalación de Java, apuntado por nuestra <a href="http://jesfre.blogspot.mx/2010/03/comendando-con-java-3-la-variable.html" target="_blank">variable JAVA_HOME</a> contiene espacios. Por ejemplo, </span><span style="color: #111111;"><span style="line-height: 18px;"><b>C:\Program Files (x86)\Java\jdk1.6.0_17</b>. Para solucionarlo, editaremos el archivo </span></span><b style="color: #111111; line-height: 18px;">squirrel-sql.bat</b><span style="color: #111111; line-height: 18px;"> modificando la línea </span><span style="color: #111111;"><span style="line-height: 18px;"><b>set IZPACK_JAVA=%JAVA_HOME%</b> agregándole comillas <b>set IZPACK_JAVA=</b><span style="font-size: large; font-weight: bold;">"</span>%JAVA_HOME%<span style="font-size: large; font-weight: bold;">"</span>. Con esta modificación ya será posible ejecutar y comenzar a usar nuestro cliente de gestión de bases de datos en memoria.</span></span><br />
<span style="background-color: white; color: #111111; font-family: inherit; line-height: 18px;"><br /></span>
<span style="font-family: inherit;"><span style="background-color: white; color: #111111; line-height: 18px;"><br /><b>Últimas anotaciones</b></span></span><br />
<span style="font-family: inherit;"><span style="background-color: white; color: #111111; line-height: 18px;">Claro que podríamos habernos evitado todo esto con solo seleccionar una ruta distinta para instalar nuestro programa. Pero nosotros los programadores en ocasiones... </span></span><br />
<span style="font-family: inherit;"><span style="background-color: white; color: #111111; line-height: 18px;"><br /></span></span>
<span style="font-family: inherit;"><span style="background-color: white; color: #111111; line-height: 18px;">Disfruten tirando código.<br /></span></span></div>
<div>
<br /></div>
</span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-47006775432507431452012-09-12T10:48:00.002-07:002012-09-12T10:55:59.663-07:00Problema al crear nuevo módulo de un proyecto MavenAl estar creando un nuevo módulo para un proyecto Maven usando Spring Source Tool Suite 2.9.2.RELEASE surgió el siguiente error:<br />
<div>
<blockquote class="tr_bq">
Could not calculate build plan: Failed to parse plugin descriptor for org.apache.maven.plugins:maven-resources-plugin:2.4.3 (C:\Users\jruiza\.m2\repository\org\apache\maven\plugins\maven-resources-plugin\2.4.3\maven-resources-plugin-2.4.3.jar): error in opening zip file<br />
Failed to parse plugin descriptor for org.apache.maven.plugins:maven-resources-plugin:2.4.3 (C:\Users\jruiza\.m2\repository\org\apache\maven\plugins\maven-resources-plugin\2.4.3\maven-resources-plugin-2.4.3.jar): error in opening zip file</blockquote>
</div>
<div>
El problema surge porque STS viene configurado por defecto para usar la librería de Maven embebida, sí, la que viene con el IDE, y esta tiene sus propias configuraciones como la ruta del repositorio de librerías. Al ser así, Maven intenta encontrar el repositorio en la ruta por defecto establecida, que es C:\Usuario\.m2\repository\ pero mi repositrio existe en otra ruta, por lo tanto ocurre este error.</div>
<div>
Para solucionarlo simplemente modifiqué las configuraciones de la instalación de Maven y el repositorio.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br /></div>
<div>
Desde el menú superior: Window>Preferences>Maven>Installations</div>
<div>
Aquí agregué una nueva instalación de Maven, la cual estoy usando en lugar del que viene embebido con STS.</div>
<div>
Desde el menú superior: Window>Preferences>Maven>User Settings</div>
<div>
Aquí seleccioné el archivo de configuración de Maven que requiero usar. De esta forma toma la ubicación del repositorio de Maven que tengo configurado en el archivo.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJN5HoitzD66xqKWZtzo32GboXo7ZNy6PBQN0TqYi0XcZIWS5bX904Gey5U96SfDlFY2GdGTjKgi5c15uQ25kFczF58NDWBsF6C4NF-RWCwWycuJGo-TbK49KyZCch8nW3jX1oEyH9FEg/s1600/userSettings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJN5HoitzD66xqKWZtzo32GboXo7ZNy6PBQN0TqYi0XcZIWS5bX904Gey5U96SfDlFY2GdGTjKgi5c15uQ25kFczF58NDWBsF6C4NF-RWCwWycuJGo-TbK49KyZCch8nW3jX1oEyH9FEg/s320/userSettings.png" width="320" /></a></div>
<div>
<br /></div>
<div>
Una vez hechas estas configuraciones volví a intentar crear el nuevo modulo de Maven y funcionó correctamente.</div>
<div>
<br /></div>
<div>
<br /></div>
Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-64588853625840669992012-01-10T19:26:00.000-08:002012-01-10T19:37:42.487-08:00Depurar codigo desde Eclipse usando el plugin de Jetty para Maven<div><span>Hace ya un tiempo estuve desarrollando una aplicación usando Maven como sistema de building. Pero llegué al punto de que cuando quería depurar la aplicación desde Eclipse, simplemente por la forma en la que funciona el plugin de Jetty para Maven, no me redirigía al código fuente cuando se detenía en un breakpoint, sino en el .class, claro, eso es un problema cuando necesitas ver las líneas de código. Pues bien, luego de un poco de búsqueda, encontré que en la documentación del plugin de Jetty explican cómo lograr depurar el código fuente.</span></div><div><span><br /></span></div><span>Simplemente es necesario seguir el tutorial que está disponible en </span><div><span><a href="http://docs.codehaus.org/display/JETTY/Debugging+with+the+Maven+Jetty+Plugin+inside+Eclipse">http://docs.codehaus.org/<wbr>display/JETTY/Debugging+with+<wbr>the+Maven+Jetty+Plugin+inside+<wbr>Eclipse</a></span></div><div><span style="text-align: -webkit-auto; "><span><br /></span></span></div><div><span style="text-align: -webkit-auto; "><span>Con esos dos pasos se puede comenzar a depurar el código usando Eclipse, un poco tedioso pero muy rápido de configurar y funciona muy bien.</span></span><br clear="all" style="font-family: arial; text-align: -webkit-auto; font-size: small; "><br class="Apple-interchange-newline"></div><span class="fullpost"> </span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-2866578463808082552012-01-01T20:50:00.000-08:002012-01-01T21:04:13.151-08:00Files are locked on Windows and can't be replaced<span style="font-family: arial; text-align: -webkit-auto; font-size: small; ">Existe un problema al estar usando el plugin de Jetty para Maven, y es que el plugin bloquea (lock) los archivos de contenido estáticos como .html, .css, .js e imágenes y los usa en memoria (algo de un conector NIO). Por tal razón, si se está ejecutando un comando como mvn jetty:run, y se intenta editar este tipo de archivos, entonces aparece este error.</span><div style="font-family: arial; text-align: -webkit-auto; font-size: small; "><br /></div><div style="font-family: arial; text-align: -webkit-auto; font-size: small; "><img src="https://mail.google.com/mail/?ui=2&ik=4863bf06e3&view=att&th=1341e6967c2cbe13&attid=0.2&disp=safe&realattid=ii_1341e5436ce8524c&zw" alt="image.png" title="image.png" /></div><div style="font-family: arial; text-align: -webkit-auto; font-size: small; ">Para solucionar este problema, en la página del plugin tienen documentado este problema, que sucede solo con Windows. (<span style="font-family: Arial, Helvetica, FreeSans, sans-serif; line-height: 52px; text-align: left; background-color: rgb(255, 255, 255); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; border-bottom-color: rgb(51, 0, 153); "><span style="font-weight: bold; "><a href="http://docs.codehaus.org/display/JETTY/Files+locked+on+Windows">Files locked on Windows</a></span>)</span><div>Para solucionarlo se debe hacer lo siguiente:</div><div>1. Deshabilitar el uso de archivos mapeados en memoria. Para hacer esto, se debe extraer el archivo <span style="font-family: monospace; font-size: 13px; line-height: 17px; background-color: rgb(255, 255, 255); ">org/mortbay/jetty/<wbr>webapp/webdefault.xml</span> <wbr>localizado en el JAR de Jetty (<span style="font-size: 13px; font-family: monospace; line-height: 17px; background-color: rgb(255, 255, 255); ">lib/jetty.jar</span>) y <span style="font-family: monospace; font-size: 13px; line-height: 17px; background-color: rgb(255, 255, 255); ">cambiar la siguiente configuración a FALSE:</span></div><div><tt style="font-size: 13px; line-height: 17px; text-align: left; background-color: rgb(255, 255, 255); "><br /></tt></div></div><blockquote style="font-family: arial; text-align: -webkit-auto; font-size: small; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-image: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><tt style="font-size: 13px; line-height: 17px; text-align: left; background-color: rgb(255, 255, 255); "><div style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 15px; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; min-height: inherit !important; white-space: pre-wrap; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><</code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">init-param</code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; ">></code></div></tt></div></div><div><div><tt style="font-size: 13px; line-height: 17px; text-align: left; background-color: rgb(255, 255, 255); "><div style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 15px; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; min-height: inherit !important; white-space: pre-wrap; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><</code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">param-name</code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; ">><wbr>useFileMappedBuffer<!--</code--><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">param-<wbr>name</code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; ">></code></code></div></tt></div></div><div><div><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><tt style="font-size: 13px; line-height: 17px; text-align: left; background-color: rgb(255, 255, 255); "><div style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 15px; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; min-height: inherit !important; white-space: pre-wrap; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><</code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">param-value</code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; ">>true<!--</code--><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">param-<wbr>value</code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; ">> </code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; color: rgb(0, 130, 0) !important; "><!-- change to false --></code></code></div></tt></code></div></div><div><div><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><tt style="font-size: 13px; line-height: 17px; text-align: left; background-color: rgb(255, 255, 255); "><div style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 15px; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; min-height: inherit !important; white-space: pre-wrap; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><!--</code--><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">init-param</code><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; ">></code></code></div></tt></code></code></div></div></blockquote><div style="font-family: arial; text-align: -webkit-auto; font-size: small; "><div><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><br /></code></code></code></div><div><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">2. Asegurarse que esta configuración se aplica a todas las webapps. Para hacerlo, la siguiente configuración en <span style="font-family: monospace; font-size: 13px; line-height: 17px; background-color: rgb(255, 255, 255); ">etc/jetty.xml</span> debe apuntar hacia nuestro archivo<span style="font-size: 13px; font-family: monospace; line-height: 17px; background-color: rgb(255, 255, 255); ">:</span></code></code></code></div><div><table border="0" cellpadding="0" cellspacing="0" style="font-size: 13px; line-height: 1.2em !important; color: rgb(0, 0, 0); clear: left; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: rgb(255, 255, 255); border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; text-align: left; vertical-align: baseline !important; width: 1182px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><tbody style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "><tr style="font-size: 1em !important; line-height: 1.2em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; min-height: inherit !important; "><td style="font: normal normal normal small/normal arial; font-size: 1em !important; line-height: 1.2em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; background-color: initial !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-style: initial !important; border-color: initial !important; float: none !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: 1182px; min-height: inherit !important; "><div title="Hint: double-click to select code" style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; white-space: pre-wrap !important; "><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> <</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Call</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">name</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"addLifeCycle"</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></div><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Arg</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></div><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">New</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">class</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"org.mortbay.jetty.<wbr>deployer.WebAppDeployer"</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></div><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">name</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"contexts"</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Ref</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">id</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"Contexts"</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">/><!--</code--><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></code></div><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">name</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"webAppDir"</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">SystemProper<wbr>ty</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">name</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"jetty.home"</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">default</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"."</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">/>/webapps<!--</code--><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></code></div><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">name</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"parentLoaderPriority"</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">><wbr>false<!--</code--><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></code></div><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">name</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"extract"</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">>true<!--</code--><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></code></div><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">name</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"allowDuplicates"</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">>false<!--</code--><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; "><wbr>Set</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></code></div><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(128, 128, 128) !important; ">name</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">=</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 51, 102) !important; ">"defaultsDescriptor"</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">>/<wbr>jesfre/jetty/mywebdefaults.<wbr>xml<!--</code--><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Set</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; color: rgb(0, 130, 0) !important; "><!-- Aquí es donde se apunta a nuestro archivo --></code></code></div><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><!--</code--><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">New</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></code></div><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><!--</code--><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Arg</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></code></div><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><span > </span><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "> <code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "> </code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><!--</code--><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; min-height: inherit !important; color: rgb(51, 102, 153) !important; ">Call</code><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; ">></code></code></div><div style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><br /></code></code></div><div style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 1em !important; padding-bottom: 0px !important; padding-left: 0em !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; min-height: inherit !important; "><span >Espero les sirva y puedan seguir codificando a gusto.</span></code></code></div></code></code></code></code></code></code></code></code></div></td></tr></tbody></table></div></div><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><code style="text-align: -webkit-auto; white-space: normal; font-size: 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; "><code style="border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; background-color: initial !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 0px !important; border-style: initial !important; border-color: initial !important; float: none !important; line-height: 1.2em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; margin-left: 0px !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; min-height: inherit !important; "><span class="fullpost"> </span></code></code></code>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-10860569936559943802011-03-13T11:41:00.000-07:002012-09-27T08:42:26.540-07:00Configurar Cygwin + Console2Esta vez hablaré de cómo configurar Console2 para que funcione con Cygwin. Cygwin es un emulador de comandos Linux sobre Windows. Console es una herramienta para Windows que no hace que MS-DOS funcione mejor pero si que se vea más chido. Y me di a la tarea de investigar cómo integrar estas dos herramientas para trabajar con comandos similares a las de Linux desde Windows usando el command.com pero con una mejor presentación que la que presenta MS-DOS.<br />
<br />
En este tutorial veremos cómo instalar cada una de estas herramientas y cómo integrarlas para tener una experiencia bastante distinta al usar una consola en Windows. Además, veremos cómo configurar Cygwin para que al estar integrado con Console2 nos presente el prompt en una carpeta de nuestra preferencia en lugar de la carpeta por defecto.<br />
<span class="fullpost"><br /><span style="font-weight: bold;">Instalar Cygwin</span><br /><br />1. Entra a <a href="http://cygwin.com/install.html">http://cygwin.com/install.html</a>, descarga y ejecuta el instalador setup.exe<br />2. O directamente desde esta liga <a href="http://cygwin.com/setup.exe">setup.exe</a><br />3. En la primera pantalla de la instalación de Cygwin, clic en Siguiente.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm8C3syBmLzCI9UVgDBT8ln-m6si2U5Ky9tThOtMpYP_mK7auzDYY9gl3oM-vK9njmY_rZnYhRAYhTninZ6RHMgW__87df-6ZPgCtHm7RQWs2BeKISW0Uey3p2H20aFjFIqc9mk14M0O4/s1600/c1.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584073884171211618" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm8C3syBmLzCI9UVgDBT8ln-m6si2U5Ky9tThOtMpYP_mK7auzDYY9gl3oM-vK9njmY_rZnYhRAYhTninZ6RHMgW__87df-6ZPgCtHm7RQWs2BeKISW0Uey3p2H20aFjFIqc9mk14M0O4/s320/c1.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />4. Seleccionar el tipo de instalación. Yo lo haré directo de Internet, pero también puedes descargar todas las bibliotecas para posteriormente instalarlo desde un directorio local.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTpTO8yR75Lxh-5wVbBkhcyS9OYiu51a6PzDos4yjKSyHgXxMbiPaTdWr9j5L-xU6zp7-0OEGG7Ao6piC65Ea9xuisd9UcCAFZfXG8bUAIaZ66mxzhP-8xWaXsTmsWaULTekQsI7uhHGs/s1600/c2.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584073889783918018" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTpTO8yR75Lxh-5wVbBkhcyS9OYiu51a6PzDos4yjKSyHgXxMbiPaTdWr9j5L-xU6zp7-0OEGG7Ao6piC65Ea9xuisd9UcCAFZfXG8bUAIaZ66mxzhP-8xWaXsTmsWaULTekQsI7uhHGs/s320/c2.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />5. Selecciona el directorio de instalación.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8HhuxwCgRpwEXZN9T_ViH1WUYEREX3oXlMaq957JCZYV0Fe7ucERi0tjzTurr8gfwz4EsjPWw8RlGsZmHati_e_1Tzi9oSkNUC45ruh3K-WqCMzO7kD-y4Zh1RuR_6RLpmCqO-dt7LJ8/s1600/c3.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584073891832883618" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8HhuxwCgRpwEXZN9T_ViH1WUYEREX3oXlMaq957JCZYV0Fe7ucERi0tjzTurr8gfwz4EsjPWw8RlGsZmHati_e_1Tzi9oSkNUC45ruh3K-WqCMzO7kD-y4Zh1RuR_6RLpmCqO-dt7LJ8/s320/c3.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />6. Ahora selecciona una carpeta donde se almacenarán los archivos de instalación de Cygwin.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHW3NLqWlvkLyBLTTAcLcb4bNVGHCwDlU0NPfqOeoAG4IE0hCeamBEOgIv_d5OofK0BIJIQE7I5Fss8q1L4SGUUmHYCrF3aTUE2Blp-pgDhaqfWoBqHXSAHqRnWLUg8C0HXHalNp5YjeE/s1600/c4.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584073898567080546" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHW3NLqWlvkLyBLTTAcLcb4bNVGHCwDlU0NPfqOeoAG4IE0hCeamBEOgIv_d5OofK0BIJIQE7I5Fss8q1L4SGUUmHYCrF3aTUE2Blp-pgDhaqfWoBqHXSAHqRnWLUg8C0HXHalNp5YjeE/s320/c4.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />7. Si estás tras un servidor proxy, es hora de configurarlo.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwbWtI2jhXoE9rzHhdydxpmAsRCFck6lDuLdMe_KkL1Xf5_MDyVIAq-dR9r2kNq7qD6dnErkioQ7Kv4X0VfpsdoA0S-F5a81MCWXkaEr1Nl6gqxErTigD2LiZFnGyTMlJd_anruUlPHFM/s1600/c5.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584073906995052050" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwbWtI2jhXoE9rzHhdydxpmAsRCFck6lDuLdMe_KkL1Xf5_MDyVIAq-dR9r2kNq7qD6dnErkioQ7Kv4X0VfpsdoA0S-F5a81MCWXkaEr1Nl6gqxErTigD2LiZFnGyTMlJd_anruUlPHFM/s320/c5.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />8. En la siguiente pantalla selecciona un mirror de descarga, aqui realmente no se cuál sea el más apropiado, así que yo selecciono el que sea mientras no encuentre un <span style="font-style: italic;">ibiblio</span>.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjExU1amLEALijRikKbkrCo9bfwJuqlPHxZD08zZylmW44NBPwIzydxAsGx-bADgqu-ZE4kSkMm9Ktmwzu8lrUaz0jQ7S6a_8RwepXhVV83l-ubPdIgPzDBkq1C6vl1f9Gc32fUtCT6YIU/s1600/c6.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584074905660167810" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjExU1amLEALijRikKbkrCo9bfwJuqlPHxZD08zZylmW44NBPwIzydxAsGx-bADgqu-ZE4kSkMm9Ktmwzu8lrUaz0jQ7S6a_8RwepXhVV83l-ubPdIgPzDBkq1C6vl1f9Gc32fUtCT6YIU/s320/c6.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />9. Ahora comienza a descargar la información de los archivos de instalación.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgydHrY5YlVLFmIwhh2TK6lBM4u0qO-WhqkSbK-IfJbimG99KfiKQQ8d17fgktDPTP3uZnHhm37RiI6oiBpxulKq27oWq9c3WkSSv0Fka4SyRew_Qve_2FvwRqpP6NFhOHbvNjBuBEwVWQ/s1600/c7.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584074910082668290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgydHrY5YlVLFmIwhh2TK6lBM4u0qO-WhqkSbK-IfJbimG99KfiKQQ8d17fgktDPTP3uZnHhm37RiI6oiBpxulKq27oWq9c3WkSSv0Fka4SyRew_Qve_2FvwRqpP6NFhOHbvNjBuBEwVWQ/s320/c7.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />10. La siguiente pantalla muestra todos los paquetes que se instalarán. Haz clic en siguiente a menos que seas más curioso y quieras ver de qué se tratan todos los paquetes.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2zEGAd4uNGb3rHD9Q6nf7JngHCW4tbeiYEIsPCFSR6SMbIZccvSkm-SpGHxGcMsZETh2xYAfedEC4uZLbeTtPUf-C6Hsi9A_Jv40Se06IHk_L9d4qM8qKgGipYScs6jNydCPl7Kre4N0/s1600/c8.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584074913703035714" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2zEGAd4uNGb3rHD9Q6nf7JngHCW4tbeiYEIsPCFSR6SMbIZccvSkm-SpGHxGcMsZETh2xYAfedEC4uZLbeTtPUf-C6Hsi9A_Jv40Se06IHk_L9d4qM8qKgGipYScs6jNydCPl7Kre4N0/s320/c8.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />11. Comienza ahora la instalación de Cygwin.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6skpeD3UdCAvhLs3qrvn0Sv0p_3TboUJZsiFhWpd36Bbr-s8NeyvxNAisX9nBVCvR16kwR25WxXL1zCKAeN-Hnjik4Mopu2VQKOTiDCA6mlQqiv0x_wN4CB-dVP-a7GejGAmXPDpZ03E/s1600/c9.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584074921887833250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6skpeD3UdCAvhLs3qrvn0Sv0p_3TboUJZsiFhWpd36Bbr-s8NeyvxNAisX9nBVCvR16kwR25WxXL1zCKAeN-Hnjik4Mopu2VQKOTiDCA6mlQqiv0x_wN4CB-dVP-a7GejGAmXPDpZ03E/s320/c9.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />12. Finalmente escoge las opciones finales de instalación.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNcUluZhgjRiQHbAUGANuVSBDJO6XHXdnmx9ckMHH_CZYHr_yilX8VIL9aZ63ruvInzXnABUhBqqNe4AUoykL1RYHFpOICRLKxJXnnYacBO9OfKw2eJFyIdh9YTIcdFEmasG029rAUmsQ/s1600/c10.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584075601028407314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNcUluZhgjRiQHbAUGANuVSBDJO6XHXdnmx9ckMHH_CZYHr_yilX8VIL9aZ63ruvInzXnABUhBqqNe4AUoykL1RYHFpOICRLKxJXnnYacBO9OfKw2eJFyIdh9YTIcdFEmasG029rAUmsQ/s320/c10.png" style="cursor: pointer; display: block; height: 234px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />13. Clic en Finish y ya tienes instalado Cygwin listo para trabajar pensando que usas Linux.<br /><br /><span style="font-weight: bold;">Instalar Console2</span></span><br />
<ol>
<li><span class="fullpost">Accede a esta dirección del proyecto Console, <a href="http://sourceforge.net/projects/console/">http://sourceforge.net/projects/console/</a> para descargarlo</span></li>
<li><span class="fullpost">El archivo descargado será un .zip que deberás descomprimir en el directorio de tu preferencia. A mi me gusta tener una carpeta de herramientas de desarrollo (../dev/tools/)</span></li>
<li><span class="fullpost">Una vez hecho esto, puedes entrar a la carpeta Console2 que descomprimiste y correr el archivo ejecutable Console.exe. Ya tienes Console2 listo para usarse.</span></li>
</ol>
<span class="fullpost"><span style="font-weight: bold;">Integrar Cygwin con Console2</span><br /><ol>
<li>Abre Console2 <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinibS7WjcJ1nRVgI9lLcH4quag_AOYnkNdbEsilrFkRmgWmJ0AJV9E_omtcmiOyPAxH0JMIdJUZsZyjyEtF3ouqOrASUiZL1hZ5ERWEwFzNsXfsmE7Fh0tIIbGrRhkGS-M9Wfcm_Pi5pw/s1600/con1.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584075603985385122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinibS7WjcJ1nRVgI9lLcH4quag_AOYnkNdbEsilrFkRmgWmJ0AJV9E_omtcmiOyPAxH0JMIdJUZsZyjyEtF3ouqOrASUiZL1hZ5ERWEwFzNsXfsmE7Fh0tIIbGrRhkGS-M9Wfcm_Pi5pw/s320/con1.png" style="cursor: pointer; display: block; height: 246px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a></li>
<li>Abre la ventana de configuración en el menú Edit->Settings...<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRzuFkmk8yLVv6yVj_vMhg9-Oh0OjKSgwYMEZHsCosaYMn1SzMa3nyP_ZMBnOwD_vyKIj5OHpOuLsdgo9cZI-9D9bwHzQNMhvPIdE17A7XKIf7j7BLG010zvzfR8uT6c0pDXBCmMz_I4c/s1600/con2.png"><br /></a></li>
<li>En la ficha Tabs, clic en Add para agregar una nueva ficha</li>
<li>Agrega la siguiente configuración a la nueva ficha<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRzuFkmk8yLVv6yVj_vMhg9-Oh0OjKSgwYMEZHsCosaYMn1SzMa3nyP_ZMBnOwD_vyKIj5OHpOuLsdgo9cZI-9D9bwHzQNMhvPIdE17A7XKIf7j7BLG010zvzfR8uT6c0pDXBCmMz_I4c/s1600/con2.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5584075609608629602" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRzuFkmk8yLVv6yVj_vMhg9-Oh0OjKSgwYMEZHsCosaYMn1SzMa3nyP_ZMBnOwD_vyKIj5OHpOuLsdgo9cZI-9D9bwHzQNMhvPIdE17A7XKIf7j7BLG010zvzfR8uT6c0pDXBCmMz_I4c/s320/con2.png" style="cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 313px;" /></a></li>
<li>Ahora puedes agregar la nueva ficha que has creado y poder ver Cygwin en acción desde Console2.</li>
</ol>
Pero normalmente quiero designar la carpeta en la cual aparezca inicialmente el prompt de la línea de comandos. Console2 provee esa opción (Startup dir:) en su configuración como podrás ver en la ventana donde configuraste la nueva ficha; pero no funciona con Cygwin. Para solucioar esto deberás editar el archivo por lotes en C:\cygwin\Cygwin.bat:<br /><br />Cambia esto:<br /><blockquote style="font-family: courier new;">
bash --login -i</blockquote>
<br />por esto:<br /><blockquote style="font-family: courier new;">
bash --login -i -c 'cd tu_directorio_de_preferencia; exec bash'</blockquote>
<br /><br />Ten en cuenta el el path de tu directorio deberá estar separado por diagonales normales ( / ) como en Linux y no invertidas ( \ ) como en MS-DOS. Por ejemplo: C:/Users/Jesfre/core_documents<br /><br />Ahora cada vez que abras tu nueva ficha te posicionará automáticamente el prompt en el directorio que has coonfigurado.<br /><br />Disfruta del seudo-bash en Windows.</span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-51112164904229739972010-07-14T07:30:00.000-07:002010-07-14T07:40:47.804-07:00Primeros pasos con Java Web Start (2): La consola de JavaEn un post anterior hacía una <a href="http://jesfre.blogspot.com/2010/04/primeros-pasos-con-java-web-start.html">introducción a Java Web Start</a>. Ahora quiero comentar acerca de una característica que proporciona Java, y esta es su consola. La consola de Java viene con la instalación del JRE. De acuerdo al <a href="http://www.java.com/es/download/help/javaconsole.xml">sitio ayuda de Java</a>,<br /><span class="bodytext"><span class="bodytext"><br /></span></span><blockquote><span class="bodytext"><span class="bodytext">La consola de Java ofrece información acerca de la versión del entorno de ejecución de Java (JRE), el directorio de inicio del usuario y los mensajes de error que aparezcan durante la ejecución de un applet o una aplicación.</span></span></blockquote>Pues bien, lo que nos interesa en este momento de la consola es la posibilidad de mostrar los mensajes de error que se lanzan durante la ejecución de una aplicación; para este caso nos será de mucha ayuda al momento de probar y depurar nuestras aplicaciones Java Web Start ya que podremos ver con más detalle los errores que sucedan durante la ejecución de nuestras aplicaciones.<br />Por defecto la consola de Java no se muestra, por lo tanto habrá que habilitarla siguiendo los pasos que se describen en la misma página y que a continuación presento.<br /><span class="bodytext"><span class="bodytext"><star:answer-text star="http://schemas.sun.com/star-ns/"></star:answer-text></span><h5 style="font-weight: normal;font-family:georgia;"><span class="bodytext"><span style="font-size:100%;">Habilitación de la Consola de Java para la plataforma Windows, para las versiones de Java 6.0, 1.5.0</span></span></h5><span class="bodytext"> <ol><li>Haga clic en <b>Inicio</b>.</li><li>Seleccione <b>Configuración</b>.</li><li>Seleccione <b>Panel de control</b>.</li><li>Haga doble clic en el icono de <b>Java</b>.</li><li>Haga clic en la ficha <b>Avanzado</b>.</li><li>Haga clic en el signo <img alt="+" src="http://www.java.com/en/img/download/plus.gif" /> situado junto a <span style="font-weight: bold;">Consola de Java</span>. (Img. 1)</li><li>Seleccione <b>Ver consola</b> y haga clic en <b>Aplicar</b>.</li></ol></span></span><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYYzMu0sxNKdqPvx0ugiHQ2pStBzzRO8e-WUMpXNz6KdBwsgXfDu0fPB6mj8_GKxj8SY8rexsXmaJb2evk3MWzEpZqAc9Lg_-s7fX5nGgUHIUJLvfB4j-j1dmnqScDRkKhAnQ-DqVooJk/s1600/habilitar-consola-java.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 261px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYYzMu0sxNKdqPvx0ugiHQ2pStBzzRO8e-WUMpXNz6KdBwsgXfDu0fPB6mj8_GKxj8SY8rexsXmaJb2evk3MWzEpZqAc9Lg_-s7fX5nGgUHIUJLvfB4j-j1dmnqScDRkKhAnQ-DqVooJk/s320/habilitar-consola-java.png" alt="" id="BLOGGER_PHOTO_ID_5493695977625249570" border="0" /></a><span style="font-style: italic;">Img. 1. La Ventana de configuración</span><br /><br /></div>Una vez hecho esto, si ejecutamos nuestra aplicación Java Web Start o cualquier otra podremos ver una ventana como la mostrada abajo en la que veremos los errores que lance la aplicación.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWJ9v9dpeQvRGSpdOE3WpS5BTkPgHLFLsaK62Rqgs0dbfVuK22g5uRndnZKv-mZ6sxTpsRA-hw7gKKPRGvfaWyBIHHmuGoQrIZa4eWQ4tSfxKz1gnuBqHRGKcZr5BRr-CB6hKj7zQLma4/s1600/consola-java.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 282px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWJ9v9dpeQvRGSpdOE3WpS5BTkPgHLFLsaK62Rqgs0dbfVuK22g5uRndnZKv-mZ6sxTpsRA-hw7gKKPRGvfaWyBIHHmuGoQrIZa4eWQ4tSfxKz1gnuBqHRGKcZr5BRr-CB6hKj7zQLma4/s320/consola-java.png" alt="" id="BLOGGER_PHOTO_ID_5493696424278842306" border="0" /></a><br />Para otras versiones de Java o la visualización de la consola en navegadores como Firefox y otros pueden ver la <a href="http://www.java.com/es/download/help/javaconsole.xml">página de ayuda de Java</a> donde se explica.Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com2tag:blogger.com,1999:blog-9206497193519505916.post-59046741039798521742010-07-11T10:03:00.000-07:002010-07-11T21:10:04.630-07:00Illegal character in path at index 18: file: ~/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jarHace unos días mientras generaba mis <a href="http://es.wikipedia.org/wiki/CRUD">CRUD</a> usando la herramienta <span style="font-family:courier new;">appfuse:gen</span> de <a href="http://appfuse.org/display/APF/Home">Appfuse</a> me mostró el siguiente error extraño:<br /><blockquote style="font-family: courier new;">[INFO] null<br />Illegal character in path at index 18: file:/~/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar<br />[INFO] ------------------------------------------------------------------------<br />[INFO] Trace<br />java.lang.IllegalArgumentException</blockquote>Después de buscar pocos minutos, enseguida encontré cuál era el problema. El problema es que <a href="http://maven.apache.org/">Maven</a> tiene ciertos conflictos al intentar parsear la ubicación del repositorio si tal ubicación contiene espacios en blanco. Y este es un error ya muy conocido que me había tocado ver antes, pero lo había olvidado (algo muy común).<br />Como en mi caso, que por estar usando un Windows XP en español, por defecto Maven genera el repositorio en "<span style="font-style: italic;">C:/Documents and Settings/<usuario>/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar</usuario></span>", por lo tanto generará este error en alguna ejecución. Los pasos para corregir el error fue:<br /><ol><li>Mover el repositorio que Maven genera, que por defecto se encuentra en "<span style="font-style: italic;font-family:georgia;" >C:/Documents and Settings/<usuario>/.m2/</usuario></span>" a una que no contenga espacios como "<span style="font-style: italic;font-family:georgia;" >C:\.m2</span>"</li><li>Editar el archivo de configuración de Maven que se encuentra en<span style="font-family:courier new;"> </span><span style="font-family:courier new;"><span style="font-style: italic;font-family:georgia;" ><MAVEN_HOME>\conf\settings.xml</maven_home></span></span>. Descomentar y actualizar la directiva que apunta al repositorio local en <localrepository><blockquote style="font-family: courier new;"><!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ~/.m2/repository --><br /><localrepository>c:\.m2\repository</localrepository></blockquote></localrepository></li><li>y <span style="font-family:courier new;">BUILD SUCCESSFUL</span></li></ol><br />Espero les sirva para cualquier ejecución de Maven con el mismo problema.Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-4349497693498597882010-07-07T15:42:00.000-07:002010-07-07T16:02:47.121-07:00SAXNotRecognizedException: Property 'http://apache.org/xml/features/nonvalidating/load-external-dtd' is not recognizedActualmente estoy desarrollando una pequeña aplicación usando <a href="http://appfuse.org">Appfuse</a> 2.0.2. Appfuse cuenta con una herramienta de generación de código muy potente que usa <a href="http://maven.apache.org/">Maven</a>.<br /><span style="font-family: courier new;"></span><blockquote><span style="font-family: courier new;">mvn appfuse:gen -Dentity=NombrePojo</span></blockquote><br />Pues bien, al momento de intentar generar mis <a href="http://es.wikipedia.org/wiki/CRUD">CRUD</a> (Create, Retrieve, Update y Delete) me marcó el error:<br /><blockquote><span style="font-family: courier new;">org.xml.sax.SAXNotRecognizedException: Property 'http://apache.org/xml/features/nonvalidating/load-external-dtd'</span></blockquote><br />Después de buscar un rato en la lista de correo de Appfuse encontré que es una funcionalidad no probada aún con Java 6 y recomiendan solucionarlo apuntando a otra URL, pero había que hacer algunos cambios muy drásticos, pero lo que quería era solamente solucionar ese error y no tenía inconvenientes en cambiar de versión de Java, así que<br /><ol><li>instalé la versión 5 de Java, </li><li>cambié el valor de<a href="http://jesfre.blogspot.com/2010/03/comendando-con-java-3-la-variable.html"> la variable de entorno JAVA_HOME</a> a la ubicación del JDK5 en vez de la 6, </li><li>abrí una nueva ventana de comandos, </li><li>ejecuté nuevamente la instrucción <span style="font-family: courier new;">mvn appfuse:gen -Dentity=NombrePojo</span> y </li><li><span style="font-style: italic;">vualá</span> <span style="font-family: courier new;">BUILD SUCCESSFUL</span>.</li></ol>Espero que les sirva si están usando Appfuse<br /><span class="fullpost"> </span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-58470541313324331922010-04-25T10:22:00.000-07:002010-04-25T12:46:28.578-07:00Primeros pasos con Java Web Start<span style="font-size:100%;">Hace algún tiempo tuve que aprender a usar esta definición de la plataforma Java para desarrollar una pequeña aplicación Swing que se ejecutaría vía <a href="http://es.wikipedia.org/wiki/Java_Web_Start">Java Web Start</a> desde un link en una aplicación Web. Para usar Java Web Start se requiere más que nada realizar varias configuraciones, nada de programación.<br /></span><br />Para hacer esto seguí estos sencillos pasos.<br /><br /><span style="font-weight: bold;font-size:130%;" >Pasos para habilitar la ejecución de JavaWebStart desde una aplicación Web</span><br /><br /><span style="font-weight: bold;">1. Empaquetar la aplicación</span><br />Lo primero que deberemos hacer será empaquetar nuestra aplicación en un archivo <a href="http://es.wikipedia.org/wiki/Java_Archive">JAR</a>. Además, para poder ejecutar nuestra aplicación desde una aplicación de JavaWebStart deberemos firmar el JAR digitalmente, pero esto se explicará más adelante. Para empaquetar nuestra aplicación usamos la herramienta de línea de comandos de Java. Aunque en todo caso, puede usarse cualquier herramienta disponible en nuestro IDE, si se dispone de uno.<br /><pre class="brush: xml"><br /><MIAPLICACION_DIR>.jar –cf <nombre-archivo-jar>.jar <clase-java1>.class <clase-java2>.class <clase-javaN>.class<br /></pre><br /><br /><span style="font-weight: bold;">2. Firma digital</span><br />Ya tenemos casi listo nuestro JAR, ahora solo deberemos firmarlo. Esta firma digital es importante ya que todas las aplicaciones se ejecutan dentro de un <a href="http://es.wikipedia.org/wiki/Aislamiento_de_procesos_%28inform%C3%A1tica%29">sandbox</a>, que es un espacio de seguridad del cliente donde se ejecutará la aplicación. Los pasos son los siguientes.<br /><br /><span style="font-weight: bold;">a)</span> Generar el Keystore: Desde línea de comandos entrar al direcotorio bin de nuestra instalación de Java (el <span style="font-style: italic;">JAVA_HOME</span>).<br /><pre class="brush: xml"><br /><JAVA_HOME>\bin>keytool -genkey -alias test –keyalg RSA -keystore test.jks<br /></pre><br />Luego se habrá generado el archivo <span style="font-style: italic;">test.jks</span> en el directorio <span style="font-style: italic;">bin </span>.<br /><span style="font-weight: bold;"><br />b)</span> Lo siguiente será firmar el JAR con la herramienta <span style="font-style: italic;">KeyTool IUI</span> disponible en <a href="http://www.4shared.com/file/LcbR54vk/keytoolIUI-241.html">KeyTool IUI 2.4.1</a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvA2d43oTWqIT8TW0hECa81fkEJUftcbXXLdaGyrib_bT2cCVXs0KAc4aeBHrfbVN7M9IN5cBw9IG9QvrS5_8EO5RlrahoIhzMNPyTdIkj0eZUEqw-7B89MUe1HkmcrP-0Qst_cJELMXY/s1600/keytoolIUI.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 238px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvA2d43oTWqIT8TW0hECa81fkEJUftcbXXLdaGyrib_bT2cCVXs0KAc4aeBHrfbVN7M9IN5cBw9IG9QvrS5_8EO5RlrahoIhzMNPyTdIkj0eZUEqw-7B89MUe1HkmcrP-0Qst_cJELMXY/s320/keytoolIUI.png" alt="" id="BLOGGER_PHOTO_ID_5464155399218220578" border="0" /></a><br />Con estos pasos tendremos una aplicación empaquetada y firmada que podrá ejecutarse en el cliente. Para más información al respecto de firma digital escuche el podcast de <a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__080__criptografia_y_firma_digital/">Javahispano no. 080 - Criptografia y Firma Digital</a>.<br /><span class="fullpost"><br /><span style="font-weight: bold;">3. Archivo de configuración de Java Web Start</span><br />Ahora crearemos el archivo de configuración de nuestra aplicación Java Web Start en nuestro editor de texto preferido. El archivo de configuración tendrá el nombre que deseemos y con la extensión .jnlp (<span style="font-style: italic;">holaMundo.jnlp</span>). Se puede encontrar más información sobre cómo crearlo y más opciones de configuración en el siguiente enlace <a href="http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/syntax.html">JNLP File Syntax</a>.<br /><pre class="brush: xml"><br /><?xml version="1.0" encoding="UTF-8"?><br /><jnlp spec="1.0+"<br /> codebase="http://localhost:8080/micontextoweb/javaws"<br /> href="TheTime.jnlp"<br />><br /><!-- Información general de nuestra aplicación --><br /><information><br /> <title>Hola Mundo</title><br /> <vendor>Jorge Ruiz Aquino</vendor><br /> <homepage href="/micontextoweb" /><br /> <description>Archivo de ejemplo</description><br /></information><br /><offline-allowed/><br /><!-- Se establecen los permisos para la aplicación dentro del sandbox --><br /><security><br /> <all-permissions/><br /></security><br /><!--<br />Se listan los recursos necesarios para la ejecución de la aplicación,<br />como la versión mínima de Java requerida, la ubicación del JAR de nuestra aplicación,<br />además de las librerías externas que se usarán.<br />--><br /><resources><br /> <j2se version="1.5+" /><br /> <jar href="http://localhost:8080/micontextoweb/javaws/AplicacionFirmada.jar"/><br /></resources><br /><!-- Se establece el nombre de la clase que contiene el método main() --><br /><application-desc main-class="ClaseMain" /><br /></jnlp><br /></pre><br />Los permisos en nuestra configuración anterior son necesarios además de la firma digital que hemos agregado al JAR en el paso anterior.<br /><br />Ahora que tenemos nuestro archivo <span style="font-style: italic;">AplicacionFirmada.jar</span> y nuestra configuración JavaWebStart <span style="font-style: italic;">holaMundo.jnlp</span>; pondremos estos archivos y las librerías necesarias en donde corresponda dentro de nuestro servidor Web. En mi caso, será en mi servidor Web Apache Tomcat <span style="font-style: italic;"><catalina_home></catalina_home></span><span style="font-style: italic;"><catalina_home></catalina_home></span><catalina_home><span style="font-style: italic;">/micontextoweb/javaws/</span>, tal como está configurado en el archivo .jnlp, en el apartado </catalina_home>.<br /><br /><span style="font-weight: bold;">4. Soporte de JNLP en el servidor Web</span><br />Lo siguiente será asegurarse que el servidor Web soporta archivos de tipo JNLP, que es la extensión de las aplicaciones Java Web Start. Para esto se debe habilitar el soporte del tipo MIME en la configuración del servidor, por ejemplo, en el servidor Web Tomcat se puede habilitar en la configuración del archivo <span style="font-style: italic;"><catalina_home></catalina_home></span><span style="font-style: italic;"><catalina_home></catalina_home></span><span style="font-style: italic;"><catalina_home></catalina_home></span><catalina_home>/conf/web.xml agregando un nuevo mapping para el tipo MIME. Por defecto Tomcat ya lo tiene habilitado.</catalina_home><span style="font-weight: bold;"><br /></span><span><pre class="brush: xml"><br /><mime-mapping><br /> <extension>jnlp</extension><br /> <mime-type>application/x-java-jnlp-file</mime-type><br /></mime-mapping><br /></pre><br /></span><span style="font-weight: bold;"><br />5. Soporte de JNLP en el navegador Web</span><br /><catalina_home>Posteriormente, en nuestra aplicación Web agregaremos una porción de código Javascript para verificar que el navegador soporta el tipo MIME. Aunque, actualmente la mayoría de los navegadores soporta este tipo de archivos.<br /><pre class="brush: javascript"><br />function mimetypeCheck() {<br /> // First, determine if Webstart is available<br /> if (navigator.mimeTypes['application/x-java-jnlp-file']) {<br /> plugin = navigator.mimeTypes['application/x-java-jnlp-file'];<br /> } else {<br /> document.write ("no jnlp file association<br/>");<br /> }<br /> // Next, check for appropriate version family<br /> for (var i = 0; i < navigator.mimeTypes.length; i++) {<br /> plugin = navigator.mimeTypes[i];<br /> }<br />}<br />mimetypeCheck();<br /></pre><br /><br /><span style="font-weight: bold;">6. Enlace a la aplicación Java Web Start en la aplicación Web</span><br />Finalmente, agregamos un enlace en nuestra aplicación Web para poder descargar la aplicación JNLP.<br /><pre class="brush: javascript"><br /><a href="http://localhost:8080/micontextoweb/javaws/archivo.jnlp">Descargar JNLP</a><br /></pre><br /><br /><br />Ahora estamos listo para arrancar el servidor Web y probar la ejecución de nuestra primera aplicación Java Web Start.<br /><br /><br />Suerte con su primera taza de Java Web Start.<br /><br /></span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com3tag:blogger.com,1999:blog-9206497193519505916.post-45579956276672912682010-03-21T09:40:00.000-07:002010-07-19T12:24:10.278-07:00Comenzando con Java (3) - La variable JAVA_HOME (Windows)Normalmente cuando estamos comenzando a usar Java nos encontramos con que tenemos que agregar el JAVA_HOME (el directorio de instalación de Java) a las variables de entorno de Windows. Pues bien, para esa "primera vez" me he dado a la tarea de escribir este pequeño tutorial. Para este tutorial debemos tener presentes los siguientes conceptos:<br /><br /><a href="http://es.wikipedia.org/wiki/Variable_de_entorno"><span style="font-style: italic;">Variables de entorno</span></a><br /><a href="http://es.wikipedia.org/wiki/Autoexec.bat"><span style="font-style: italic;">Autoexec.bat</span></a><br /><span style="font-style: italic;">PATH</span>: Que es donde el intérprete de comandos buscará los comandos de ejecución que escribamos en la consola, siempre y cuando no usemos una ruta específica para llamar al comando.<br /><br />La idea del <span style="font-style: italic;">JAVA_H</span><span style="font-style: italic;">OME</span> es que agreguemos una nueva variable de entorno a nuestro sistema. En este caso <span style="font-style: italic;">JAVA_HOME</span> es el nombre de facto, aunque podría ser cualquier otro, lo importante es que además lo agreguemos al <span style="font-style: italic;">PATH </span>para que Windows pueda reconocer los comandos de Java. Incluso podríamos no definir la variable JAVA_HOME y hacerlo todo directamente sobre la variable PATH, pero por convención y practicidad es mejor definirla, esto te será más claro conforme sigas usando Java.<br />Para agregar la nueva variable de entorno hay dos caminos a seguir.<br /><br /><span style="font-weight: bold;font-size:130%;" >El primero es usando la ventana de Propiedades del sistema de Windows.</span><br />(La forma en que siempre lo hago)<br /><br />1. Hacer la combinación de teclas <span style="font-weight: bold;">Inicio</span>(la tecla de la ventanita) <span style="font-weight: bold;">+ Pausa</span> para abrir la ventana de <span style="font-style: italic;">Propiedades del sistema</span>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJebz6dpBFNPvxGKuPPUj7Dzhar4b6taTRJWrlQM-EMxugE15yQpQ0oeZF-k-X_Rs0KbY-qYtUBP0KQG8rdp83uety1PCZuIP_NBQNeisG6Q-gB9kJwhaaKslN9JbMENG9Mhmk_4nOKBM/s1600-h/propiedades_del_sistema.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 267px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJebz6dpBFNPvxGKuPPUj7Dzhar4b6taTRJWrlQM-EMxugE15yQpQ0oeZF-k-X_Rs0KbY-qYtUBP0KQG8rdp83uety1PCZuIP_NBQNeisG6Q-gB9kJwhaaKslN9JbMENG9Mhmk_4nOKBM/s320/propiedades_del_sistema.png" alt="" id="BLOGGER_PHOTO_ID_5449307704454903138" border="0" /></a><br /><span class="fullpost"><br />2. Dentro de la ficha <span style="font-weight: bold;">Opciones avanzadas</span>, oprimir el botón <span style="font-weight: bold;">Variables de entorno</span>, lo que abrirá una nueva ventana titulada <span style="font-style: italic;">Variables de entorno</span>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-NjeP1UY8LBbXjcoksplC9nDFPNGV62GiCKuubWDDR9YCM-UINFquDj-obbuDkCeGYAa8zqOKAx-LY-dPmMFQtAq3eWKuBaZWff1xdi_a2TqyuPQ2IletEQXDYQ9oBZgwkSxnyr99TkI/s1600-h/veriables_de_entorno.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 290px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-NjeP1UY8LBbXjcoksplC9nDFPNGV62GiCKuubWDDR9YCM-UINFquDj-obbuDkCeGYAa8zqOKAx-LY-dPmMFQtAq3eWKuBaZWff1xdi_a2TqyuPQ2IletEQXDYQ9oBZgwkSxnyr99TkI/s320/veriables_de_entorno.png" alt="" id="BLOGGER_PHOTO_ID_5449307430162260706" border="0" /></a><br />Nota: Dentro de las variables de entorno tenemos las <span style="font-style: italic;">Variables de usuario</span> y las <span style="font-style: italic;">Variables del sistema</span>, las primeras funcionan mientras la sesión del usuario para la cuál está definida está abierta, las otras funcionan para todos los usuarios y se necesitan permisos de administrador para definirlas. Preferentemente yo siempre uso las <span style="font-style: italic;">Variables de sistema</span>, a menos que haya una situación particular que requiera que use las variables de usuario.<br /><br />3. En la sección de las <span style="font-style: italic;">Variables del sistema</span> haremos clic sobre el botón <span style="font-style: italic;">Nueva</span>, esto nos abrirá un pequeño cuadro de diálogo donde agregaremos los siguientes valores:<br />* en la caja Nombre de variable: <span style="font-style: italic;">JAVA_HOME</span><br />* en la caja Valor de variable: la ubicación donde hayas instalado el JDK, en mi caso <span style="font-style: italic;">C:\Archivos de programa\Java\jdk1.6.0_18</span> y hacer clic en Aceptar.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKl13FP8zPfEu73hxDiahMb2pLjFYDUfmLwcCHPtK93RGPka2mCA5T9ka6yQJUipAaRDYfUBWF_oD0FDFiNzUPZ0RZLKwo03iJTjjYmCz79haYUrQbN5fKJPQjJfNCeqcwgNd6rd2kDUM/s1600-h/nueva_variable.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 121px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKl13FP8zPfEu73hxDiahMb2pLjFYDUfmLwcCHPtK93RGPka2mCA5T9ka6yQJUipAaRDYfUBWF_oD0FDFiNzUPZ0RZLKwo03iJTjjYmCz79haYUrQbN5fKJPQjJfNCeqcwgNd6rd2kDUM/s320/nueva_variable.png" alt="" id="BLOGGER_PHOTO_ID_5449309930281215954" border="0" /></a><br />4. Buscar la varibla de sistema llamada Path y hacer clic en Modificar.<br />5. En el campo <span style="font-style: italic;">Valor de variable</span> de la ventana de diálogo <span style="font-style: italic;">Modificar variable de sistema</span> agregaremos nuestra nueva variable de entorno al final del valor existente separándolo por un punto y coma (;) de la siguiente forma: <span style="font-weight: bold;">;%JAVA_HOME%\bin;</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMHAr108hyZFSLeJxqwLjxwJ4yBn_3Tn54WGVXkBbo0-zWWrcrxCP7RgpIIttTvw8677kgk4zPtrbbhWt-YZxQjRKIIZL8XeOsspHO9yUYzDad7atySfi43gCisOx2vaqOuwyVXSXD3dA/s1600-h/modificar_variable.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 121px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMHAr108hyZFSLeJxqwLjxwJ4yBn_3Tn54WGVXkBbo0-zWWrcrxCP7RgpIIttTvw8677kgk4zPtrbbhWt-YZxQjRKIIZL8XeOsspHO9yUYzDad7atySfi43gCisOx2vaqOuwyVXSXD3dA/s320/modificar_variable.png" alt="" id="BLOGGER_PHOTO_ID_5449310795546919986" border="0" /></a>De esta forma estamos haciendo referencia a la carpeta <span style="font-weight: bold;">bin</span> (donde están los comandos de ejecución) de la instalación de Java usando la variable JAVA_HOME que hemos creado en los pasos anteriores. También podríamos haber escrito directamente la ruta de la instalación del JDK en el Path, pero como lo he dicho antes, es preferible hacerlo de esta forma.<br /><br />Después de estos pasos simplemente deberemos hacer clic en el botón Aceptar de cada ventana y tendremos agregada nuestra nueva variable de entorno.<br /><br /><span style="font-weight: bold;font-size:130%;" >Otra forma es haciéndolo directamente desde la ventana de linea de comandos:</span><br /><br />1. Hacer la combinación de teclas <span style="font-weight: bold;">Inicio + R</span> para abrir la ventana Ejecutar, y escribir <span style="font-weight: bold;">cmd</span> y hacer clic en Aceptar. Esto abrirá una ventana de linea de comandos.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMB6N9Y_aeqaN68hDGoQYjTQzR8YbQp3lGAvtrD6OP82QNT6tHLyNayQ-ruHbtEC7a432QgHPk0dGMKOZZXzR1uMir1B5w2OukND1avn8du_N1Jz_Fc48s-RYswypNfAzNE9qtWjS1vu8/s1600-h/ejecutar.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 165px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMB6N9Y_aeqaN68hDGoQYjTQzR8YbQp3lGAvtrD6OP82QNT6tHLyNayQ-ruHbtEC7a432QgHPk0dGMKOZZXzR1uMir1B5w2OukND1avn8du_N1Jz_Fc48s-RYswypNfAzNE9qtWjS1vu8/s320/ejecutar.png" alt="" id="BLOGGER_PHOTO_ID_5449314356464121922" border="0" /></a><br />2. En la ventana de linea de comandos escribir: <span style="font-style: italic;">set JAVA_HOME=<ruta_de_instalación_ style="font-style: italic;" del_jdk=""></ruta_de_instalación_></span><span style="font-style: italic;"><ruta_al_jdk></ruta_al_jdk></span>, nuevamente, en mi caso la ruta de instalación es <span style="font-style: italic;">"C:\Archivos de programa\Java\jdk1.6.0_18"</span><br /><span style="font-style: italic;"><br /><span style="font-weight: bold;">Nota</span></span>: Las comillas no son necesarias a menos que tengamos espacios en blanco en nuestra ruta, como en este caso.<br /><br />3. Posteriormente, en la misma ventana, habrá que agregar esta variable al Path de esta forma: <span style="font-style: italic;">set Path=%Path%;%JAVA_HOME%\bin;</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiehJjo6_7VXme37cNwEdcc-jEpLZivk7x8M4rlqqxtyXGTvxNGgYMWk5TXjUw5fZBlADKRqORYcBXRpi31192Jao5bUI_FaNHWKDCN-tqHiz0_txvgdd1MHK_GifmdkeHo4XtBU-ugrLg/s1600-h/comandos2.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 96px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiehJjo6_7VXme37cNwEdcc-jEpLZivk7x8M4rlqqxtyXGTvxNGgYMWk5TXjUw5fZBlADKRqORYcBXRpi31192Jao5bUI_FaNHWKDCN-tqHiz0_txvgdd1MHK_GifmdkeHo4XtBU-ugrLg/s400/comandos2.png" alt="" id="BLOGGER_PHOTO_ID_5449365510638631554" border="0" /></a><br />Con esto habremos agregado la nueva variable de entorno, <span style="font-style: italic;">pero solo estará disponible mientras permanezca abierta la sesión de la linea de comandos</span>. Para hacer permanente nuestras variables de otra forma, podemos agragarlas al Autoexec.bat para que se carguen siempre que arranque el sistema.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Agregar las variables de entorno en el Autoexec.bat</span></span><br /><br />1. Abrimos una ventana de Ejecutar como en el paso uno de la sección anterior y escribimos <span style="font-weight: bold;">sysedit</span> y hacemos clic en Aceptar.<br />2. En la ventana de AUTOEXEC.BAT agregamos las lineas<br />@echo off<strong><br /></strong><span style="font-style: italic;">JAVA_HOME=<ruta_de_instalación_ del_jdk=""></ruta_de_instalación_></span><span style="font-style: italic;">"C:\Archivos de programa\Java\jdk1.6.0_18"<br /></span>Path=%Path%;<span style="font-style: italic;">%JAVA_HOME%\bin;</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtMZvxMRXNVqkDO9d5GKwVC2zHuRJqMIkKIadzDUOCjT8bm8UKm2NuxvmtiiqHu7WBNFaCSiF6r_0eKFt6ifYkp8etwtcDa3ZUJSHWrgHPuQlqs4wOvigIfoqv-DTQSAaOhTVlI0-q0O0/s1600-h/autoexec.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 228px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtMZvxMRXNVqkDO9d5GKwVC2zHuRJqMIkKIadzDUOCjT8bm8UKm2NuxvmtiiqHu7WBNFaCSiF6r_0eKFt6ifYkp8etwtcDa3ZUJSHWrgHPuQlqs4wOvigIfoqv-DTQSAaOhTVlI0-q0O0/s400/autoexec.png" alt="" id="BLOGGER_PHOTO_ID_5449377928219755714" border="0" /></a><br />Y después de guardar el archivo, preferentemente, reinicia el sistema.<br /><br /><span style="font-style: italic; font-weight: bold;">Nota</span>: Gracias a un comentario, debo remarcar que en versiones posteriores a Windows ME las variables de entorno se deben agregar por medio de la ventana de Propiedades del sistema y no por la modificación del archivo <span style="font-style: italic;">autoexec.bat</span>, aunque aun es posible.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">La prueba</span></span><br /><br />Para comprobar que verdaderamente se ha agregado la nueva variable de entorno abre una ventana de línea de comandos y escribe <span style="font-weight: bold;">java -version</span>, y el resultado de ejecutar esta línea deberá ser algo similar a esto:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjid3gn0Olp7dufW6Sz_UNRZeyv9_vRYGZMzlemDh_TkeM8OZtnfTUXHL-a9F8O3-tpRASzbgRJyCjgeS2BFH3jWPHSikzatiZIFFudm8NU_KsNZ-KJyMyOeZIPf1nuVmxsXmzouBDOrcA/s1600-h/java_version.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 116px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjid3gn0Olp7dufW6Sz_UNRZeyv9_vRYGZMzlemDh_TkeM8OZtnfTUXHL-a9F8O3-tpRASzbgRJyCjgeS2BFH3jWPHSikzatiZIFFudm8NU_KsNZ-KJyMyOeZIPf1nuVmxsXmzouBDOrcA/s400/java_version.png" alt="" id="BLOGGER_PHOTO_ID_5449375924669379650" border="0" /></a><br />Para más inromación sobre comandos del DOS, el Autoexec.bat y en general sobre las variables de entorno, dejo estos enlaces:<br /><a href="http://es.wikipedia.org/wiki/Variable_de_entorno">Variables de entorno</a><br /><a href="http://www.wilsonmar.com/1envvars.htm">Environment variables</a><br /><a href="http://en.wikipedia.org/wiki/AUTOEXEC.BAT">Autoexec.bat (inglés) </a><br /><a href="http://es.wikipedia.org/wiki/Autoexec.bat">Autoexec.bat (español)</a><br /><a href="http://tutorial-administraciondearchivos.blogspot.com/2009/03/13-configsys-y-autoexecbat.html">Config.sys y Autoexec.bat</a><br /><a href="http://java.com/en/download/help/path.xml">How do I set or change the PATH system variable?</a><br /></span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com20tag:blogger.com,1999:blog-9206497193519505916.post-6462772312893933282010-03-16T16:27:00.000-07:002010-03-16T17:19:33.580-07:00Comenzando con Java (2) - El IDEEn la sección anterior de esta serie de Comenzando con Java vimos cómo comenzar apoyándonos en <span class="blsp-spelling-error" id="SPELLING_ERROR_0">tutoriales</span> y les dejé algunos <span class="blsp-spelling-error" id="SPELLING_ERROR_1">videotutoriales</span> muy buenos que me he encontrado en la red. Ahora toca seleccionar nuestro editor de desarrollo.<br /><br />La selección de nuestro primer <a href="http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">IDE</span></a> (<span class="blsp-spelling-error" id="SPELLING_ERROR_3">Integrated</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_4">Development</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_5">Environment</span>, Entorno Integrado de Desarrollo) es muy importante pues nos ayudará a resolver problemas comunes, acelerar nuestro aprendizaje y adaptarnos poco a poco a una forma particular de trabajo.<br /><br />Debemos seleccionar el <span class="blsp-spelling-error" id="SPELLING_ERROR_6">IDE</span> de acuerdo a nuestras necesidades, por ejemplo, si lo necesitamos solo para el uso académico, aprendizaje de ciertas herramientas y/o tecnologías del mundo Java, si lo necesitamos para uso profesional, ya que en ciertas empresas dicen al desarrollador cuál <span class="blsp-spelling-error" id="SPELLING_ERROR_7">IDE</span> usar, etc.<br /><br />Como este <span class="blsp-spelling-error" id="SPELLING_ERROR_8">tutorial</span> lo he escrito para quienes aun están aprendiendo a programar en Java, les recomiendo usar un <span class="blsp-spelling-error" id="SPELLING_ERROR_9">IDE</span><br />Lo que yo recomiendo es verificar que el IDE:<br /><ul><li>sea intuitivo</li><li>tenga resaltador de código</li><li>tenga depurador</li><li>tenga autocompletado (no indispensable si estás aprendiendo)<br /></li></ul><br />Aunque llegarás a usar otras herramientas muy prácticas y otras muy complejas conforme avances en tu aprendizaje.<br /><span class="fullpost"><br />Por ejemplo, yo aprendí usando un editor muy simple: <span class="blsp-spelling-error" id="SPELLING_ERROR_10">TextPad</span>, y también vi a compañeros aprendiendo con <span class="blsp-spelling-error" id="SPELLING_ERROR_11">JPadPro</span>.<br /><br />Uno muy utilizado en la academia para la enseñanza de la <span class="blsp-spelling-error" id="SPELLING_ERROR_12">programación</span> en Java es <span class="blsp-spelling-error" id="SPELLING_ERROR_13">BlueJ</span>, la cual también recomiendo mucho.<br /><br />También puedes aprender con uno más profesional como <span class="blsp-spelling-error" id="SPELLING_ERROR_14">Netbeans</span> (comentarios a parte) que es un <span class="blsp-spelling-error" id="SPELLING_ERROR_15">IDE</span> muy completo y ampliamente usado en entornos profesionales. Es gratuito y puedes descargarlo en su versión más <span class="blsp-spelling-corrected" id="SPELLING_ERROR_16">ligera</span> para comenzar a programar. También puede usar la versión <span class="blsp-spelling-error" id="SPELLING_ERROR_17">Classic</span> de Eclipse. Consulta sus páginas respectivas o la <span class="blsp-spelling-error" id="SPELLING_ERROR_18">Wikipedia</span> para leer más al respecto y decidir por un <span class="blsp-spelling-error" id="SPELLING_ERROR_19">IDE</span>.<br /><br />Pero existen muchos más en el mundo Java, para todos los gustos, solo he comentado los más comunes.<br /></span><br /><br />Enlaces:<br /><a href="http://www.netbeans.org/index.html"><span class="blsp-spelling-error" id="SPELLING_ERROR_20">Netbeans</span></a> (<a href="http://es.wikipedia.org/wiki/NetBeans"><span class="blsp-spelling-error" id="SPELLING_ERROR_21">Wikipedia</span></a>| <a href="http://netbeans.org/downloads/index.html">descarga</a>)<br /><a href="http://www.eclipse.org/">Eclipse</a> (<a href="http://es.wikipedia.org/wiki/Eclipse_%28software%29"><span class="blsp-spelling-error" id="SPELLING_ERROR_22">Wikipedia</span></a>| <a href="http://www.eclipse.org/downloads/">descarga</a>)<br /><a href="http://www.bluej.org/"><span class="blsp-spelling-error" id="SPELLING_ERROR_23">BlueJ</span></a> (<a href="http://en.wikipedia.org/wiki/BlueJ"><span class="blsp-spelling-error" id="SPELLING_ERROR_24">Wikipedia</span></a>| <a href="http://www.bluej.org/download/download.html">descarga</a>)<br /><a href="http://www.textpad.com/"><span class="blsp-spelling-error" id="SPELLING_ERROR_25">TextPad</span></a> (<a href="http://es.wikipedia.org/wiki/TextPad"><span class="blsp-spelling-error" id="SPELLING_ERROR_26">Wikipedia</span></a>)<br /><a href="http://www.modelworks.com/"><span class="blsp-spelling-error" id="SPELLING_ERROR_27">JPadPro</span></a>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-78659877486725325862010-03-08T18:50:00.000-08:002010-03-09T15:17:01.345-08:00"An instance of the program seems to be already running" en NetbeansActualmente estoy usando Netbeans 6.7.1 para desarrollar una aplicación Swing ya que me gusta el Matisse que viene con este IDE. Pero ya han sido varias ocasiones en las que la computadora se ha apagado abruptamente, lo que ha causado que Netbeans no se cierre correctamente; y después de reiniciar e intentar abrir nuevamente el IDE me muestra una ventana de alerta con el siguiente mensaje:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMy0iUANvpJndfdMAcmk3Fab_Uo_yAtfT9yefa34Y7p1Fdxoih_r5j272F1UY2NmO7NbM9ad0aH80tjIVZj7ZMlA9b3Jo3AMSqMQUo2jKgShHLuHBD_SNKokGrB3qnnPL7GftH51b4DDc/s1600-h/warning-netbeans.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMy0iUANvpJndfdMAcmk3Fab_Uo_yAtfT9yefa34Y7p1Fdxoih_r5j272F1UY2NmO7NbM9ad0aH80tjIVZj7ZMlA9b3Jo3AMSqMQUo2jKgShHLuHBD_SNKokGrB3qnnPL7GftH51b4DDc/s400/warning-netbeans.png" alt="" id="BLOGGER_PHOTO_ID_5446775938769043010" border="0" /></a>"An instance of the program seems to be already running with your user directory. Either a previous session of the program did not exit correctly, or another instance of the program is running on a different computer and using the same user directory.<br /><br />"If another session of the program is running with the same user directory, please click Cancel to prevent the corruption of the user directory. If you are sure that no other instances of the program are running with your user directory, click OK to continue."<br /><span class="fullpost"><br />Para solucionar este problema debemos tener presente que Netbeans guarda distintas carpetas de configuración, estas son el Directorio de instalación, Directorio de usuario y Directorio de proyectos. Pues bien, <span style="font-weight: bold;">para solucionar este problema </span>en particular lo único que he hecho ha sido borrar el archivo <span style="font-style: italic;">lock</span> que se encuentra en el directorio de usuario; en mi caso <span style="font-style: italic; font-weight: bold;">C:\Documents and Settings\Jorge Ruiz\.netbeans\6.7\lock</span><br /><br />Las carpetas comentadas se crean durante la instalación de Netbeans y el usuario puede modificarlas, por lo tanto, es importante leer bien los diálogos antes de hacer clic en el botón Next de la instalación. Para más información sobre estas carpetas puedes leer <a href="http://blogs.sun.com/NetBeansSupport/entry/directories_in_netbeans_install_user">el blog de soporte de Netbeans</a>. Espero que la solución de mi caso les sirva...<br /></span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-13153357933188786402010-01-27T08:24:00.000-08:002016-05-06T22:39:13.943-07:00Invocar programas ASM desde Java paso a pasoHace ya varios meses envié un tutorial al portal de JavaHispano donde explicaba cómo hacer para invocar funciones escritas en lenguaje ensamblador desde Java. Y como ya pasaron más de tres meses desde entonces, ya puedo usarlo en mi blog :D.<br />
Aquí les dejo el Contenido y las dos primeras partes para que se den una idea; también les dejo el código fuente y el documento PDF del tutorial.<br />
<br />
<span style="font-size: 130%;"><span style="font-weight: bold;">Contenido</span></span><br />
<ol>
<li><span style="font-style: italic;">Introducción</span></li>
<li><span style="font-style: italic;">¿Cuándo usar JNI?</span></li>
<li><span style="font-style: italic;">Requerimientos de software</span></li>
<li><span style="font-style: italic;">Configuración del ambiente de trabajo</span></li>
<li><span style="font-style: italic;">La programación</span></li>
<li><span style="font-style: italic;">La ejecución</span></li>
<li><span style="font-style: italic;">Conclusión</span></li>
<li><span style="font-style: italic;">Referencias y lecturas</span></li>
</ol>
<br />
<span style="font-size: 130%;"><span style="font-weight: bold;">1. Introducción</span></span><br />
En el sitio de java.net existe un pequeño tutorial titulado Invoking Assembly Language Programs from Java<span style="font-size: 78%;">1</span> pero está en inglés y no es muy sencillo para algunos nuevos programadores Java o ensamblador. En java.net explican cómo funciona la invocación de un programa ASM desde Java y qué hacer para lograrlo, pero no explican cómo hacer cada paso. Por lo tanto me he dado a la tarea de facilitar la comprensión de estas técnicas para los hispanohablantes que dan sus primeros pasos con JNI; ya que conocer un poco del funcionamiento de JNI y la invocación de aplicaciones en ensamblador es fundamental cuando se tienen aplicaciones que necesiten operaciones que consuman mucho proceso del servidor y se necesite implementar un pequeño programa a bajo nivel para ejecutar tales operaciones, y de esta manera disminuir el tiempo de espera que a veces suele ser crítico.<br />
También con JNI tenemos la capacidad de invocar funciones y procedimientos escritos en otros lenguajes, como C/C++ o en nuestro caso ASM, por ejemplo, cuando se tienen sistemas legados y se necesite utilizar alguna función del código legado será necesario desarrollar aplicaciones que puedan ejecutar estas funciones. Para más información de JNI y sus capacidades se puede consultar el manual para programadores disponible en el sitio de Sun<span style="font-size: 78%;">2</span>.<br />
Cabe señalar que este no es un tutorial introductorio a JNI o al API, por lo tanto se limitará a mencionar solo algunos conceptos necesarios. De forma rápida, comenzaremos con determinar el software que usaremos y de dónde obtenerlo, pero no nos detendremos a aprender el funcionamiento de ellos. Posteriormente agregaremos algunas variables de entorno y comenzaremos con la programación. Para esto, se presentan los programas y cómo compilarlos, sin embargo estará disponible el código fuente usado en el tutorial. Al finalizar el tutorial el lector deberá ser capaz de cargar una librería DLL en cualquier aplicación Java y usar los procedimientos de cualquier librería nativa.<br />
<span class="fullpost"><br /><span style="font-size: 130%;"><span style="font-weight: bold;">2. ¿Cuándo usar JNI?</span></span><br />En algunas ocasiones, a algunos desarrolladores les tocará encontrarse en situaciones en las que una aplicación hecha completamente en Java no cubrirá todos los requerimientos para tal. Algunos ejemplos de estas situaciones pueden ser:</span><br />
<ul>
<li><span class="fullpost">Cuando a pesar de querer escribir toda la aplicación en Java para permitir la compatibilidad entre plataformas, exiten características de la plataforma que son necesarias para la aplicación y no son soportadas por la librería estándar de Java. Esto es referido como dependencia de la plataforma.</span></li>
<li><span class="fullpost">Cuando ya se tiene una librería escrita en algún otro lenguaje y se desea hacerla accesible a nuestro código Java, por ejemplo, al tener que trabajar con código legacy. en estos casos las librerías se cargan dentro del mismo proceso de la apliación por medio de JNI, aunque existen otros mecanismos más eficientes que funcionan en procesos separados.</span></li>
<li><span class="fullpost">Si se quiere implementar porciones de código en un lenguaje de bajo nivel como ensamblador para disminuir el tiempo de procesamiento. Por ejemplo, en aplicaciones que necesiten renderizar gráficos 3D que requieren más tiempo de procesamiento, habrá que escribir una librería para gráficos en lenguaje ensamblador para tener un mejor rendimiento<span style="font-size: 78%;">3</span>.</span></li>
<li><span class="fullpost">En casos en los que quiera cargar una librería nativa en un proceso existente para evitar el costo de iniciar un nuevo proceso y cargar la librería en el mismo<span style="font-size: 78%;">4</span>.</span></li>
<li><span class="fullpost">También será oportuno usar JNI cuando se quiera utilizar algunas funcionalidades de un programa Java desde un código nativo.</span></li>
</ul>
<br />
<span style="font-size: 130%;"><a href="https://github.com/jesfre/calculadora-asm/raw/master/INVOCAR_PROGRAMAS_ASM_DESDE_JAVA_PASO_A_PASO-07-08-09.pdf">Documento Invocar programas ASM dese Java paso a paso</a><br /><a href="https://github.com/jesfre/calculadora-asm">Código fuente</a><br /><a href="http://www.javahispano.org/portada/2011/8/1/tutorial-invocar-asm-desde-java-paso-a-paso-por-jorge-ruiz-a.html">El tutorial en Javahispano</a></span><br />
<br />
<span style="font-size: 130%;"><span style="font-weight: bold;"></span></span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com2tag:blogger.com,1999:blog-9206497193519505916.post-34943906059192237222009-12-12T20:13:00.000-08:002010-02-23T20:36:12.240-08:00Convirtiendo fechas entre zonas horarias (2)En mi anterior post titulado <a href="http://jesfre.blogspot.com/2009/12/convirtiendo-fechas-entre-zonas.html">Convirtiendo fechas entre zonas horarias</a> puse un ejemplo de cómo poder convertir una fecha/hora de una zona horaria local a una distinta. Pero trabajando con el mismo proyecto encontré que debía convertir una fecha de la zona horaria UTC a la local, y entonces mi líder técnico me dió una solución sencilla cambiando solo una línea del código de ejemplo del post anterior, justo para hacer lo que necesitaba en ese momento:<br /><br />En la tarea que estaba realizando leía un archivo de texto con el dato "fecha" como una serie de números: "20090921"+"1230", que representa el 21 de Septiembre de 2009 a las 12:30; por lo que tuve que usar el formato de fecha "yyyyMMddkkmm". Esta fecha que recibía del archivo representaba una fecha/hora en el horario <a href="http://es.wikipedia.org/wiki/GMT">GMT</a>. Y esta hora la debía pasar a mi zona horaria local que es <a href="http://es.wikipedia.org/wiki/Tiempo_del_Centro">CST o UTC-6 (Tiempo del centro)</a>.<br /><br /><pre class="brush: java">public void cambiarZonaHoraria( String fecha, String patron, String tz ) {<br /> SimpleDateFormat format = new SimpleDateFormat( patron );<br /> format.setTimeZone(TimeZone.getTimeZone( tz ));<br /> try {<br /> System.out.println( format.parse( fecha ) );<br /> } catch (ParseException pe) {<br /> pe.printStackTrace();<br /> }<br />}</pre><br /><span class="fullpost"><br />Lo que hace es muy sencillo:<br /><ul><li>Primero crea una nueva instancia de SimpleDateFormat con el parámetro "patron" que le dice a la instancia que el texto que se le va a enviar está en ese formato, en mi caso "yyyyMMddkkmm".</li><li>Luego, lo más importante de lo que intentamos hacer, le asignaremos a nuestro objeto <span style="font-style: italic;">format</span> el TimeZone en el que está la hora que queremos convertir, en mi caso era GMT.</li><li>Posteriormente, simplemente usamos el método <span style="font-style: italic;">parse(String)</span> para convertir nuestro texto a un Date en la zona horaria local, en mi caso CST; por lo que el resultado final de este ejemplo es que el texto "200909211230" con el formato "yyyyMMddkkmm"lo cual representa "2oo9/09/21 <span style="font-weight: bold;">12:30</span>" en GMT pasa a ser "2009/09/21 <span style="font-weight: bold;">6:30</span>" en CST ya que son 6 horas menos a la referencia del <a href="http://es.wikipedia.org/wiki/Tiempo_Universal_Coordinado">Tiempo Universal Coordinado o UTC</a>.</li></ul>Solo debemos recordar cachar las excepciones o hacer un throw de ellas.<br /></span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-51845141755942207232009-12-06T10:08:00.000-08:002010-02-22T05:24:44.725-08:00Convirtiendo fechas entre zonas horariasEn cierto proyecto en el que estoy involucrado tuve que convertir algunas fechas en el huso horario <a href="http://es.wikipedia.org/wiki/Tiempo_universal_coordinado">UTC</a> (GMT) a la zona horaria <a href="http://es.wikipedia.org/wiki/Tiempo_del_Centro">CST</a> (Tiempo del centro) que es el que usa la mayoría de los estados en México. Como el proyecto está enteramente basado en tecnología Java, me di a la tarea de encontrar formas de hacer esto con librerías para Java.<br /><br /><span style="font-family: georgia;">Encontré que hay algunas librerías, como las de Quartz, implementan alguna clase para la conversión de zonas horarias. Pero en mi caso, necesitaba no depender tanto de librerías de terceros o fuera del API de Java.</span><br /><br /><span style="font-family: georgia;">Encontré que con las clases TimeZone y DateFormat puedo hacer la conversión usando las siguientes sentencias.</span><span style="font-family:verdana;"><span style="font-family:courier new;"><br /><pre class="brush: java"><br />public void cambiarZonaHoraria(Date fecha, String to) {<br />DateFormat dateFormat = new SimpleDateFormat();<br />TimeZone tz = TimeZone.getTimeZone(to);<br />dateFormat .setTimeZone(tz);<br />System.out.println(dateFormat.format(fecha));<br />}<br /></pre><br /><span style="font-family: georgia;font-family:georgia;" ><br />Lo que se hace básicamente es</span><br /><ul style="font-family: georgia;"><li>crear una instancia de SimpleDateFormat con el formato de fecha local</li><li>crear una instancia del TimeZone con el nombre corto de la zona horaria que se especifique por el parámetro "to"</li><li>se asigna la nueva zona horaria al objeto dateFormat </li><li>haciendo uso del método format() del objeto dateFormat se hace la conversión de nuestra fecha a una cadena que representa la nueva fecha en la zona horaria que hemos creado, y esta fecha se imprime en pantalla.</li></ul><span class="fullpost"><span style="font-family: georgia;"> De la misma forma se pueden hacer conversiones entre distintos husos y zonas horarias.</span><br /><span style="font-family: georgia;">Ahora, cabe señalar que para crear un TimeZone se usa el nombre corto de la zona horaria. Aquí dejo un </span><a style="font-family: georgia;" href="http://docs.google.com/Doc?docid=0AQOX8lWd7OHvZGM0OHY5OGtfNDVjc3NrZ3ZkbQ&hl=en">listado de zonas horarias</a><span style="font-family: georgia;"> con sus nombres e IDs que he obtenido ejecutando este pequeño programa que encontré en </span><a style="font-family: georgia;" href="http://www.exampledepot.com/egs/java.util/GetAllZones.html">Java Developers Almanac</a><span style="font-family: georgia;">:</span><br /><br /><pre class="brush: java">import java.util.Date;<br />import java.util.TimeZone;<br /><br />public class ListadoZonasHorarias {<br /><br />public static void main( String[] args ) {<br />Date fecha = new Date();<br />// Obtiene el ID de todas las zonas horarias<br />String[] zoneIds = TimeZone.getAvailableIDs();<br /><br />System.out.println(" ID | Nombre corto | Nombre largo |Diferencia horaria \n");<br />for (int i=0; i<zoneIds.length; i++) {<br /> // Ontiene el TimeZone dependiendo del ID e imprime el ID<br /> TimeZone tz = TimeZone.getTimeZone(zoneIds[i]);<br /> System.out.print(tz.getID() + "\t|");<br /><br /> // Obtiene e imprime el nombre corto y largo de la zona horaria<br /> String shortName = tz.getDisplayName(tz.inDaylightTime(fecha), TimeZone.SHORT);<br /> String longName = tz.getDisplayName(tz.inDaylightTime(fecha), TimeZone.LONG);<br /> System.out.print(shortName + "\t\t|");<br /> System.out.print(longName + "\t|");<br /><br /> // Obtiene e imprime la cantidad de horas de diferencia al huso GMT<br /> int ro = tz.getRawOffset();<br /> int horas = ro / (60*60*1000);<br /> int minutos = Math.abs(ro / (60*1000)) % 60;<br /> System.out.print(horas + ":" + minutos);<br /> System.out.println();<br />}<br /><br />}<br />}<br /></pre><br /><zoneids.length; ontiene="" dependiendo="" del="" id="" timezone="" tz="TimeZone.getTimeZone(zoneIds[i]);" el="" nombre="" corto="" y="" largo="" zona="" horaria="" string="" shortname="tz.getDisplayName(tz.inDaylightTime(fecha)," longname="tz.getDisplayName(tz.inDaylightTime(fecha)," obtiene="" e="" imprime="" la="" cantidad="" de="" diferencia="" al="" huso="" gmt="" ro="tz.getRawOffset();" int="" minutos="Math.abs(ro" horas=""><zoneids.length; ontiene="" dependiendo="" del="" id="" timezone="" tz="TimeZone.getTimeZone(zoneIds[i]);" el="" nombre="" corto="" y="" largo="" zona="" horaria="" string="" shortname="tz.getDisplayName(tz.inDaylightTime(fecha)," longname="tz.getDisplayName(tz.inDaylightTime(fecha)," obtiene="" e="" imprime="" la="" cantidad="" de="" diferencia="" al="" huso="" gmt="" ro="tz.getRawOffset();" int="" minutos="Math.abs(ro" horas=""></zoneids.length;></zoneids.length;>Espero que les pueda servir como a mí. Saludos.</span></span></span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-27745942645685893842009-08-31T14:57:00.000-07:002009-08-31T15:29:42.455-07:00An internal error occurred during: "JSP Content Validator".En la oficina en donde trabajo usamos Myeclipse como IDE y constantemente cuando editamos archivos XML o JSP en algunos proyectos, usando MyEclipse 6.0.1 GA, comunmente nos lanza una ventana emergente cada vez que intentamos guardar este tipo de archivos con los siguientes errores:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAmnrjlj3vNPOcZwsmGXsOPHIeBig5cuH0k9X113JO39nwquTPHt2fdYVYlrAnhWstrHt04eNFuolGtwomq8kqgWrVlQ8yuVIXMKpyBKNmKg636G9JV8xOtbppXCr2P9xiJETMFoutELY/s1600-h/errorValitationMyEclipse.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 269px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAmnrjlj3vNPOcZwsmGXsOPHIeBig5cuH0k9X113JO39nwquTPHt2fdYVYlrAnhWstrHt04eNFuolGtwomq8kqgWrVlQ8yuVIXMKpyBKNmKg636G9JV8xOtbppXCr2P9xiJETMFoutELY/s320/errorValitationMyEclipse.png" alt="" id="BLOGGER_PHOTO_ID_5376257471150406994" border="0" /></a><blockquote><span style="font-family:courier new;">An internal error occurred during: "JSP Content Validator".</span><br /><span style="font-family:courier new;">org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelper</span><br /><span style="font-family:courier new;">An internal error occurred during: "JSP Semantics Validator (JSF)".</span><br /><span style="font-family:courier new;">org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelper</span><br /><span style="font-family:courier new;">An internal error occurred during: "JSP Syntax Validator".</span><br /><span style="font-family:courier new;">org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelper</span><br /></blockquote><span class="fullpost">Y como ya se me acabó la paciencia, estuve investigando y al parecer son muchos los que tienen el mismo problema, sin embargo encontré una solución rápida pero nada atractiva, la cual es desactivar las validaciones de JSP y JSF.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggnLVoLQNRrztblsFKnPeJxbuj7RTTTilseIO-bFAm4MoX5Uir-wDH1fwLCZqOSNtMIjLK2lRwQuB2r1f5uBzwgf_ACPTvuvgOucmlIPdieCU8dksCRlC1Nj4inZSTLfX3y8TU0t1vBxI/s1600-h/desactivarValidaciones.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 238px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggnLVoLQNRrztblsFKnPeJxbuj7RTTTilseIO-bFAm4MoX5Uir-wDH1fwLCZqOSNtMIjLK2lRwQuB2r1f5uBzwgf_ACPTvuvgOucmlIPdieCU8dksCRlC1Nj4inZSTLfX3y8TU0t1vBxI/s320/desactivarValidaciones.png" alt="" id="BLOGGER_PHOTO_ID_5376257664366451522" border="0" /></a>Para hacer esto debemos abrir la ventana de preferencias que está en el menú <span style="font-style: italic;">MyEclipse--><span class="blsp-spelling-error" id="SPELLING_ERROR_0">Preferences</span>...<br /><br /></span>Y desactivar las casillas para<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGsrDRQGtMhDZ0LuKPh7Q9378i8Zgvw66RU6Hpuo7pTSmcIdXidKZEagzGomVmpUPXH4V_fufDZ4goNoxAIrvwpldeZLHk5KZqwF5w-gR4hLxMalLK_U3zg5o6Ki-kWMExSoxv2Glm240/s1600-h/desactivarValidaciones.png"><br /></a><ul><li><span class="blsp-spelling-error" id="SPELLING_ERROR_1">JSF</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_2">Application</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_3">Configuration</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_4">Validator</span>, </li><li><span class="blsp-spelling-error" id="SPELLING_ERROR_5">JSP</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_6">Content</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_7">Validator</span>, </li><li><span class="blsp-spelling-error" id="SPELLING_ERROR_8">JSP</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_9">Semantics</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_10">Validator</span>, </li><li><span class="blsp-spelling-error" id="SPELLING_ERROR_11">JSP</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_12">Syntax</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_13">Validator</span></li></ul><br />Con esto tendremos solucionado <span class="blsp-spelling-corrected" id="SPELLING_ERROR_14">provisionalmente</span> el error de las <span class="blsp-spelling-error" id="SPELLING_ERROR_15">validaciones</span> que muestran esas molestas ventanas emergentes cada vez que queremos guardar una archivo <span class="blsp-spelling-error" id="SPELLING_ERROR_16">JSP</span> o <span class="blsp-spelling-error" id="SPELLING_ERROR_17">XML</span>.<br /></span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com2tag:blogger.com,1999:blog-9206497193519505916.post-21708573157263398962009-08-31T00:00:00.000-07:002009-08-31T15:13:30.945-07:00Comenzando con Java (1)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpV8M-OGWlVDdLXG673qQsoQiDqj5x4FzD8xwQnzrv-JX6HqEI7cpxR5s7ghkwijDce_7-tMTrFMChVrCUMW9WPfBb8pWJ5cViSfVqX9FHC11nAg4yJn2LrWVAqOdsPbMdx2VgF-q-JBI/s1600-h/baby-programmer.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 212px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpV8M-OGWlVDdLXG673qQsoQiDqj5x4FzD8xwQnzrv-JX6HqEI7cpxR5s7ghkwijDce_7-tMTrFMChVrCUMW9WPfBb8pWJ5cViSfVqX9FHC11nAg4yJn2LrWVAqOdsPbMdx2VgF-q-JBI/s320/baby-programmer.jpg" alt="" id="BLOGGER_PHOTO_ID_5376254412720081698" border="0" /></a>Como lo prometido es deuda, y para no reinventar la rueda, decidí que en vez de grabar un video tutorial y aburrirlos con mi voz, mejor les daré acceso a algunos videos que otros ya han hecho de manera muy profesional.<div class="entry"> <p>1. Los primeros videos son unos que me encontré mientras buscaba cómo poder ayudar a unos compañeros a los que les dí tutorías. Son unos videos que comienzan desde los aspectos básicos de Java pasando por el IDE, conceptos, bifurcaciones, iteraciones, vectores y algunos ejemplos.</p> <p><a href="http://www.videoaprendizaje.com/index.php?topic=536.0">http://www.videoaprendizaje.com/index.php?topic=536.0</a></p> <p>2. Los siguientes son una serie de videos muy profesionales con el propósito de ser un curso hacia la certificación SCJP del Ing. Julio César Fuenes Ochoa liberado bajo licecia Creative Commons. Se pueden descargar dos versiones del mismo autor, de dos sitios distintos.</p> <p><a href="http://locx24.wordpress.com/2009/02/23/curso-en-videotutoriales-de-java-se-50/">http://locx24.wordpress.com/2009/02/23/curso-en-videotutoriales-de-java-se-50/</a></p> <p><a href="http://www.kootbox.com/component/option,com_remository/Itemid,27/func,select/id,6/orderby,2/page,1/">http://www.kootbox.com/component/option,com_remository/Itemid,27/func,select/id,6/orderby,2/page,1/</a></p> <p>En fin, espero que disfruten de estos videotutoriales y les sea de mucho provecho. Sigan visitándonos, pronto pondremos videos con propósitos más específicos. Si tienen peticiones puden enviarlas o seguirnos vía <a title="Jesfre" href="http://twitter.com/Jesfre">Twitter</a>.</p><p><br /></p><p><span style="font-weight: bold;">Publicado originalmente en </span><a style="font-weight: bold;" href="http://swcoders.com/">http://swcoders.com</a><br /></p> </div><span class="fullpost"> </span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-30221350671968740972009-08-23T10:24:00.000-07:002009-08-23T14:50:21.604-07:00¿PHP o Java?<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIsHogWGYIXlwSXM7VCZkvCsFyfWX4MZOLwqSUxFfYZa6axhzJP2pH47oTbpTn3dnKfyOCwZkDgtZ6OZMMEo168J9AZJEIof3VzOrtfvdqTTPSc26f9TRG-zvFjxIT5daQ2JtP-Kp8pDM/s1600-h/javavsphp.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIsHogWGYIXlwSXM7VCZkvCsFyfWX4MZOLwqSUxFfYZa6axhzJP2pH47oTbpTn3dnKfyOCwZkDgtZ6OZMMEo168J9AZJEIof3VzOrtfvdqTTPSc26f9TRG-zvFjxIT5daQ2JtP-Kp8pDM/s320/javavsphp.png" alt="" id="BLOGGER_PHOTO_ID_5373279863280486818" border="0" /></a><div class="entry">A veces algunos amigos me preguntan qué lenguaje de programación deberían aprender, y yo les digo -el que quieras-. Pero sinceramente es un poco más complicado, porque les debería preguntar primero -Bueno, ¿qué es lo que quieres hacer?-<br /><br />Pero tal vez la pregunta debería redefinirse y ahora explico porqué…<br /><br />Porque recuerdo que en una clase nos dejaron la tarea de comparar las tecnologías PHP, Java y .NET. Sin embargo yo creo que ambas tecnologías, PHP y Java, no pueden compararse, y no quiero decir que PHP no le llegue a los talones a Java, no me malinterpreten.<br /><br />Debemos tener presente qué es PHP. PHP es una tecnología de programación para Web; para eso fue creado. Sin embargo Java es una plataforma tecnológica con el que se pueden hacer aplicaciones Web, de escritorio, móviles, y un largo etcétera. Tal vez, la comparación que debería hacerse es “¿Qué necesito para lo que quiero hacer, PHP o JSP/Servlets?”. Ya que los JSP y Servlets son un conjunto de APIs de Java que permiten programar aplicaciones para Web. Además de estos, Java cuenta con decenas de otras definiciones con los que se pueden hacer infinidad de cosas.<br /><span class="fullpost"><br />Por eso, si me preguntan -¿Qué lenguaje de programación deberían aprender?-, yo podría preguntarles -¿Qué es lo que necesitas hacer?- Porque con JSP y Servlets puedes hacer lo que harías con PHP y mucho más.<br /><br />Ahora, no quiero caer en que se puede programar en Java igual que se haría con PHP, porque también hay que reconocer que existe una curva de aprendizaje mayor en el lenguaje Java que en PHP. Y sin mencionar que cuando uno quiere hacer cosas más complejas y robustas tendrá que aprender a usar algún framework para lograr su trabajo.<br /><br />Por fuera de todo eso, lo que siempre recomiendo es, aprende Java, ya que los programadores Java tienen una gran demanda en México y muchos países y son muy bien pagados. Hay mucha documentación gratuita y profesionales dispuestos a ayudar.<br /><br />Por eso, únete a nosotros y síguenos constantemente para ir aprendiendo Java. Próximamente comenzaremos con los videos…<br /><br /><br />Publicado originalmente en <a href="http://www.swcoders.com/">http://www.swcoders.com</a>.<br /></span><br /></div>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com3tag:blogger.com,1999:blog-9206497193519505916.post-86190739321459296282009-08-13T09:33:00.000-07:002009-08-14T16:48:32.270-07:00¿Cómo puedo aprender Java?<div class="entry"> <p>En el blog de <a href="http://www.swcoders.com/">http://www.swcoders.com</a> hace algún rato publiqué un post donde explico cinco sugerencias sobre cómo aprender a programar en Java, y para cualquier lenguaje de programación funciona igualmente. Pues este es un copy&paste del mismo:<br /></p><p>En varias ocasiones mis amigos me han preguntado sobre cómo podrían comenzar a aprender a programar en Java. Pues lo que siempre les he respondido es “<strong>leyendo y haciendo</strong>“. Cuando aprendí a programar en Java fue gracias a unos amigos que me decían lo mismo, pero ¿de dónde leer?, lo que estos amigos me decían, y lo que yo respondo ahora a los que me hacen la pregunta es que “<strong>Google tiene todas las respuestas</strong>“, bueno, aveces no todas.</p> <p>Es que para aprender a programar en <strong>cualquier lenguaje </strong>y para ser aficionado a la programación, la persona debe ser un investigador nato. Y si has llegado aquí es porque estás buscando aprender, y estamos para facilitarte el aprendizaje.</p><span class="fullpost"><br /><p><strong>Leyendo</strong>. Hay muchos tutoriales esparcidos por toda la Web, solo es cosa de saber buscar. Pues si pones “tutorial OR manual Java” en cualquier buscador obtendrás cientos de guías de aprendizaje de Java. Solo es cosa de que te sientes un fin de semana con café y frituras frente a la computadora. Si eres más tradicional, pues hay cientos de libros muy baratos en mercadolibre.com, aunque también los hay en formato electrónico. Un lugar al que siempre voy es a www.g2p.org que te ayuda con los hacks de google para buscar en los índices de servidores buscando lo que tú quieras.</p> <p><strong>Haciendo</strong>. Muchos tutoriales tienen ejemplos de práctica básicos con los que puedes comenzar a jugar. En los mismos tutoriales te explican cómo configurar tu ambiente en Windows o Linux para poder programar en Java.</p> <p><strong>No temerle al inglés</strong>. Un factor de miedo que veo en muchas ocasiones en algunos amigos que quieren aprender a programar es que muchos libros y tutoriales que consiguen están en inglés. Pero para ser aficionado a la informática en general, debes aprender a no temerle a los idiomas, y no me refiero a que seas políglota; pero como mínimo, deberás estar aprendiendo a leer el inglés mientras aprendes a programar. Pero no temas, actualmente hay muchísima información y tutoriales en Español muy profesionales y sencillos con los que puedes aprender.</p> <p><strong>Foros</strong>. También puedes suscribirte a foros donde puedes hacer preguntas respecto de tus dudas y te aseguro que más de un programador Java estará dispuesto y tendrá la respuesta que buscas. Algunos son: <a title="Foros FIT" href="http://fit.um.edu.mx/foros/index.php?board=5.0" target="_blank">Foros FIT</a>, <a title="javahispano.org" href="http://javahispano.org/forum/" target="_blank">javahispano.org</a>, <a title="programacion.com" href="http://www.programacion.com/java/foros/6/" target="_blank">programacion.com</a>, <a title="programacionweb.net" href="http://www.programacionweb.net/foros/foro/Java/" target="_blank">programacionweb.net</a>, <a title="forodejava.com" href="http://forodejava.com/foro/index.php" target="_blank">forodejava.com</a>.</p> <p><strong>Podcasts</strong>. Los podcast son un medio con el cuál puedes mantenerte actualizado sobre las últimas noticias y nuevas herramientas acerca de Java. Esto te ayudará a abrirte la mente a muchas cosas que existen en el mundo Java que tal vez desconozcas. El podcast que escucho con más frecuencia es el de <a title="javahispano.org" href="http://javahispano.org/" target="_blank">javahispano.org</a>, y el de <a href="http://www.javaposse.com/index.php?post_category=podcasts" target="_blank">javaposse.com</a>, en inglés.</p> <p><br /></p><p>La nota original esta <a href="http://www.swcoders.com/?p=6">aquí</a>.<br /></p><p>Te invito a darte una vuelta por <a href="http://www.swcoders.com/">SWCODERS</a> y ver el material y tutoriales que hay.<br /></p> </span></div>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-25688681849914047922009-07-23T09:22:00.000-07:002009-08-13T10:16:39.794-07:00Software Gurú 09 Conferencia y Expo en Monterrey<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.sg.com.mx/sg09/"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 62px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbbWfhfekAqv6WUwu8D9huRLWWHM-XvSLpnK3tDKsT3wc3ebaAIkisqdjLqB-Z-_DbhnkK9aEhKL8B0S9hrEYjnNJwyCr-elqZRKicxoIRpLvnqYBRzQxC4svCo2_kK-fp-RUCCxYfVnY/s400/ban_sg09_520X80.jpg" alt="" id="BLOGGER_PHOTO_ID_5361696941732109874" border="0" /></a><span style="font-size:100%;">Hace ya unos meses se anunció que el magno evento de software en México se realizaría en la ciudad de Monterrey, del 27 al 30 de Septiembre. Pues bien, a los que gustan de aprender nuevas tecnologías y las mejores prácticas del sector laboral los invito a asistir.<br />Lo mejor es aprovechar los descuentos de la <a href="http://www.sg.com.mx/sg09/content/view/8/52/">tarifa temprana</a>, y por si no se enteraron, hubo también una promoción (competencia) en la que podías ganarte un pase a las conferencias si eras el que mayor cantidad de herramientas registrase en <a href="http://www.sg.com.mx/sg09/content/view/8/52/">SGguía</a>, bueno, pues el pase me lo gané yo.... XD<br />Si se animan, ahí nos vemos.<br /><br />Enlace: <a href="http://www.sg.com.mx/sg09/">http://www.sg.com.mx/sg09/</a><br /></span><span class="fullpost"> </span>Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0tag:blogger.com,1999:blog-9206497193519505916.post-15965855998286438322009-06-09T14:06:00.000-07:002009-08-13T10:20:25.396-07:00Super Clásico Chihuahua 2009Estamos pensando ir nuevamente al Superclásico Chihuahua, nuevamente con Dante Gebel e invitados especiales. La promo está lista en la página de la Iglesia Amistad Cristiana de Chihuahua.<br /><br />La promo<br /><a href="http://www.amistad.com.mx/superclasico/html/pr09.html">http://www.amistad.com.mx/superclasico/html/pr09.html</a><br /><br />La primera versión fue imperdible, esta no será la excepción.Jesfrehttp://www.blogger.com/profile/01718298321211814592noreply@blogger.com0