PageSourceSearch

https://www.adempiere.io/assets/js/v-2f9a7ebc.602bc2ca.js

js adempiere.io collected 2026-10-07 16:34:18 UTC 20,113 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkblog=self.webpackChunkblog||[]).push([[976],{70268:(e,a,r)=>{r.r(a),r.d(a,{default:()=>E});var o=r(68152);const i=(0,o.QD)("h3",{id:"como-configurar-un-entorno-de-personalizacion-para-el-software-adempiere",tabindex:"-1"},[(0,o.QD)("a",{class:"header-anchor",href:"#como-configurar-un-entorno-de-personalizacion-para-el-software-adempiere","aria-hidden":"true"},"#"),(0,o.mY)(" Cómo configurar un entorno de personalización para el software ADempiere")],-1),n=(0,o.QD)("p",null,"Este tutorial te mostrará cómo personalizar el software central de ADempiere sin realizar cambios directos en el proyecto ADempiere. En su lugar, los cambios de personalización se incluyen en customization.jar y zkcustomization.jar, que se pueden implementar en la instalación de ADempiere.",-1),t=(0,o.QD)("h2",{id:"introduccion",tabindex:"-1"},[(0,o.QD)("a",{class:"header-anchor",href:"#introduccion","aria-hidden":"true"},"#"),(0,o.mY)(" Introducción")],-1),l={href:"http://wiki.adempiere.net/Application_Dictionary",target:"_blank",rel:"noopener noreferrer"},s=(0,o.QD)("h3",{id:"como-configurar-tu-entorno",tabindex:"-1"},[(0,o.QD)("a",{class:"header-anchor",href:"#como-configurar-tu-entorno","aria-hidden":"true"},"#"),(0,o.mY)(" Cómo configurar tu entorno")],-1),c=(0,o.QD)("p",null,"Necesitarás tener dos proyectos en tu entorno de desarrollo: uno para el proyecto ADempiere y otro para tu código personalizado que se convertirá en la nueva aplicación y dependerá del proyecto ADempiere. Se proporciona una Plantilla de Personalización para ayudarte a empezar.",-1),p=(0,o.QD)("h3",{id:"crear-el-proyecto-adempiere",tabindex:"-1"},[(0,o.QD)("a",{class:"header-anchor",href:"#crear-el-proyecto-adempiere","aria-hidden":"true"},"#"),(0,o.mY)(" Crear el Proyecto ADempiere")],-1),d={href:"https://github.com/docs/developer-guide/adempiere-version-control",target:"_blank",rel:"noopener noreferrer"},u={href:"https://github.com/docs/developer-guide/development-environments",target:"_blank",rel:"noopener noreferrer"},m={href:"https://github.com/docs/developer-guide/development-environments/creating-webui-workspace-using-eclipse-webtool",target:"_blank",rel:"noopener noreferrer"},g=(0,o.QD)("li",null,[(0,o.QD)("p",null,"Compila la aplicación ADempiere (utilizando utils_dev/build.xml), instala, configura el software (para crear el archivo .properties) e importa la semilla de la base de datos.")],-1),h=(0,o.QD)("li",null,[(0,o.QD)("p",null,"Modifica las configuraciones de inicio según sea necesario y verifica que puedes ejecutar el cliente e interfaces zk para el proyecto ADempiere.")],-1),b={href:"https://github.com/docs/developer-guide/software-development-procedure",target:"_blank",rel:"noopener noreferrer"},z=(0,o.QD)("h3",{id:"crear-el-proyecto-de-personalizacion",tabindex:"-1"},[(0,o.QD)("a",{class:"header-anchor",href:"#crear-el-proyecto-de-personalizacion","aria-hidden":"true"},"#"),(0,o.mY)(" Crear el Proyecto de Personalización")],-1),f={href:"https://github.com/adempiere/Customization-Template",target:"_blank",rel:"noopener noreferrer"},y=(0,o.IL)('<p><img src="https://github.com/adempiere/adempiere-site/assets/134967453/5f661e3a-2b0b-4d2e-8879-be4b42842ec4" alt="imagen"></p><h3 id="personalizacion-de-la-interfaz-de-usuario-swing" tabindex="-1"><a class="header-anchor" href="#personalizacion-de-la-interfaz-de-usuario-swing" aria-hidden="true">#</a> Personalización de la Interfaz de Usuario Swing</h3><p>Para Swing, es bastante sencillo. Copia el código fuente que deseas personalizar desde el proyecto principal, manteniendo la estructura del directorio fuente igual. Puedes modificar el código y luego ejecutar el proyecto de personalización para ver los efectos. Muchos cambios realizados mientras el código se está ejecutando se aplicarán de inmediato.</p><h3 id="personalizacion-de-la-interfaz-de-usuario-zk" tabindex="-1"><a class="header-anchor" href="#personalizacion-de-la-interfaz-de-usuario-zk" aria-hidden="true">#</a> Personalización de la Interfaz de Usuario ZK</h3>',4),v={href:"https://www.beyondjava.net/eliminate-cumbersome-tomcat-deployment-waits",target:"_blank",rel:"noopener noreferrer"},D={href:"https://marketplace.eclipse.org/content/filesync",target:"_blank",rel:"noopener noreferrer"},A=(0,o.IL)('<p>En Eclipse, abre el diálogo <em><strong>Window</strong></em> -&gt; <em><strong>Preferences</strong></em> y encuentra las preferencias para <em><strong>Run/Debug</strong></em> -&gt; <em><strong>String Substitution</strong></em>. Agrega una nueva variable y ruta de la siguiente manera:</p><p><img src="https://github.com/adempiere/adempiere-site/assets/134967453/d2070ca8-2eaa-4678-b38b-f452d3369c80" alt="image"></p><p><em><strong>Agrega ADEMPIERE_PROJECT_LOC como una Sustitución de Cadena en las Preferencias de Eclipse.</strong></em></p><p>Luego, haz que estas variables estén disponibles para los scripts de compilación de Ant agregándolas a las propiedades de <em><strong>Ant</strong></em> -&gt; <em><strong>Runtime</strong></em> en el mismo diálogo de <em><strong>Windows</strong></em> -&gt; <em><strong>Preferences</strong></em>.</p><p><img src="https://github.com/adempiere/adempiere-site/assets/134967453/e4f03b8e-ad21-4028-91d8-91d6c08a4007" alt="image"></p><p><em><strong>Añadiendo las variables a las propiedades de ejecución de Ant</strong></em></p><p>Elimina todo el contenido de la carpeta zkwebui en la plantilla, excepto el archivo build_custom.xml. La plantilla contiene un archivo fuente en zkwebui/WEB-INF/src, Login.java, como ejemplo. Esto simplemente cambia el encabezado de la ventana de inicio de sesión a &quot;¡Mi Personalización Funciona!&quot;. Si lo deseas, puedes dejar este archivo en su lugar.</p><p>Copia el directorio zkwebui del proyecto ADempire a la plantilla. Ten cuidado de no sobrescribir el archivo build_custom.xml en la plantilla. Esto proporcionará la misma estructura de implementación que el proyecto ADempiere principal. (Este paso es necesario y podría automatizarse, pero existe el riesgo de sobrescribir tu personalización, por lo que se ha dejado como un proceso manual.)</p><p>En las <em><strong>Propiedades del Proyecto</strong></em> para la plantilla, verifica que la Asignación de Implementación (Deployment Assembly) para el proyecto de la plantilla coincida con la Asignación de Implementación en el proyecto ADempiere.</p><div class="hint-container note"><p class="hint-container-title">Nota</p><p>Si tienes dudas, simplemente copia las entradas de la Asignación de Implementación (Deployment Assembly) desde el archivo .settings/org.eclipse.wst.common.component del proyecto ADempiere al mismo archivo en el proyecto de la plantilla. Elimina cualquier directorio src que no vayas a personalizar y solo conserva aquellos que utilizarás en la plantilla.</p></div><p>Ejecuta el Lanzador Externo <code>MyCustomizationProject InitializeZKCustomizations</code> - esto copiará todas las clases necesarias desde el proyecto ADempiere a la plantilla. Dependiendo de la ver
1sión de ADempiere, es posible que necesites modificar el archivo build.xml asociado. (Si haces esto manualmente desde el archivo de construcción, no olvides actualizar los archivos del proyecto).</p>',11),k={href:"https://github.com/docs/developer-guide/development-environments/creating-webui-workspace-using-eclipse-webtool#setup-the-webtool",target:"_blank",rel:"noopener noreferrer"},w=(0,o.IL)('<div class="language-bash line-numbers-mode" data-ext="sh"><pre class="language-bash"><code>C:<span class="token punctuation">\\</span>dev<span class="token punctuation">\\</span>eclipse<span class="token punctuation">\\</span>carpeta-de-plantilla-personalizada<span class="token punctuation">\\</span>.metadata<span class="token punctuation">\\</span>.plugins<span class="token punctuation">\\</span>org.eclipse.wst.server.core<span class="token punctuation">\\</span>tmp1<span class="token punctuation">\\</span>wtpwebapps<span class="token punctuation">\\</span>MyCustomizationProject\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>En el explorador de proyectos, abre la carpeta del servidor y modifica el archivo context.xml. Cambia la etiqueta &quot;context&quot; para que lea</p><div class="language-javascript line-numbers-mode" data-ext="js"><pre class="language-javascript"><code><span class="token operator">&lt;</span>context reloadable<span class="token operator">=</span><span class="token string">&quot;false&quot;</span><span class="token operator">&gt;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>Esto evitará que Tomcat recargue el contexto/aplicación cada vez que haya un cambio. Solo afecta al servidor Tomcat de Eclipse y no es necesario en ningún servidor de producción.</p><p>Abre las propiedades del proyecto y actualiza las propiedades de sincronización de archivos. Agrega la carpeta &quot;MyCustomizationProject/zkwebui&quot; como fuente y establece el destino en la ubicación de implementación del servidor.</p><p><img src="https://github.com/adempiere/adempiere-site/assets/134967453/4157e195-8d16-41b7-8203-bb98980a6d71" alt="image"></p><p>Publica el proyecto en el servidor y luego abre la configuración del servidor y establece la configuración de publicación en &quot;Never publish&quot;. Cualquier cambio realizado después de esto será gestionado por el complemento FileSync.</p><p><img src="https://github.com/adempiere/adempiere-site/assets/134967453/8c0dac35-d301-4696-b482-4975998bb4e4" alt="image"></p><h3 id="pruebas-con-la-plantilla" tabindex="-1"><a class="header-anchor" href="#pruebas-con-la-plantilla" aria-hidden="true">#</a> Pruebas con la plantilla</h3><p>Con la plantilla configurada, deberías estar listo para comenzar. Es posible que necesites actualizar los archivos de compilación para adaptarlos a las versiones de ADempiere. Si personalizas directorios distintos de build y client, también copia los archivos build.xml del proyecto ADempiere y modifícalos para agregar las clases personalizadas a los archivos jar. Compara el build.xml del directorio base en tanto la plantilla como el proyecto ADempiere para ver cómo y qué cambiar.</p><p>Si inicias el servidor, deberías ver los cambios en los archivos zk. Cuando realizas un cambio, la sincronización de archivos debería publicarlo inmediatamente y verás los efectos al actualizar la página web. Puedes perder el contexto y tener que iniciar sesión nuevamente.</p><p>El lanzador para el cliente ejecutará el cliente según el proyecto principal. Aquí, la mayoría de los cambios que realices se cargarán automáticamente en la aplicación, lo cual es muy útil para el desarrollo.</p><h3 id="exportacion-de-los-archivos-jar-de-personalizacion" tabindex="-1"><a class="header-anchor" href="#exportacion-de-los-archivos-jar-de-personalizacion" aria-hidden="true">#</a> Exportación de los archivos JAR de personalización</h3><p>Cuando tu personalización esté lista, hay un lanzador para construir los archivos JAR de personalización. Los dos archivos customization.jar y zkcustomization.jar se agregarán al directorio lib. Puedes añadir estos archivos al directorio lib de una instalación de ADempiere desplegada (<em><strong>ADEMPIERE_HOME/lib</strong></em>) y ejecutar la configuración (<em><strong>RUN_Setup o RUN_SilentSetup</strong></em>) para ver los cambios.</p>',14),q={},E=(0,r(42272).c)(q,[["render",function(e,a){const r=(0,o.E1)("ExternalLinkIcon");return(0,o.Wz)(),(0,o.An)("div",null,[i,n,t,(0,o.QD)("p",null,[(0,o.mY)("A veces te das cuenta de que ADempiere no se adapta perfectamente a tus necesidades y necesitas hacer algunos cambios en partes del código fuente. Algunas personalizaciones no son posibles de lograr a través del "),(0,o.QD)("a",l,[(0,o.mY)("Diccionario de Aplicaciones"),(0,o.K2)(r)]),(0,o.mY)(" de ADempiere, y debes modificar el código fuente para eso. La forma recomendada de personalizar el software es hacerlo en un proyecto separado. Allí puedes crear tus clases personalizadas y generar ar
1chivos jar de personalización que se pueden agregar a ADempiere durante la construcción de la instalación.")]),s,c,p,(0,o.QD)("ol",null,[(0,o.QD)("li",null,[(0,o.QD)("p",null,[(0,o.mY)("Si aún no lo has hecho, sigue el proceso de "),(0,o.QD)("a",d,[(0,o.mY)("Control de Versiones de ADempiere"),(0,o.K2)(r)]),(0,o.mY)(" para bifurcar, clonar y realizar el checkout de la rama objetivo del proyecto ADempiere que deseas personalizar.")])]),(0,o.QD)("li",null,[(0,o.QD)("p",null,[(0,o.QD)("a",u,[(0,o.mY)("Crea tu entorno de desarrollo de ADempiere"),(0,o.K2)(r)]),(0,o.mY)(" y, si estás modificando la interfaz zk, "),(0,o.QD)("a",m,[(0,o.mY)("configura tu espacio de trabajo WebUI con la herramienta Eclipse Webtool"),(0,o.K2)(r)]),(0,o.mY)(".")])]),g,h]),(0,o.QD)("p",null,[(0,o.mY)("Ahora has creado el proyecto principal ADempiere. Los cambios en este proyecto deben realizarse como parte del "),(0,o.QD)("a",b,[(0,o.mY)("Procedimiento de Desarrollo de Software"),(0,o.K2)(r)]),(0,o.mY)(" para corregir errores, agregar funciones y generar código común que será compartido por todas las implementaciones de ADempiere.")]),z,(0,o.QD)("p",null,[(0,o.mY)("Bifurca el proyecto de la plantilla de personalización en GitHub desde "),(0,o.QD)("a",f,[(0,o.mY)("aquí"),(0,o.K2)(r)]),(0,o.mY)(". Añade el código bifurcado como un nuevo proyecto a tu espacio de trabajo IDE que contiene el proyecto ADempiere que creaste anteriormente. Luego, modifica las Propiedades del Proyecto para que apunten al proyecto ADempiere principal.")]),y,(0,o.QD)("p",null,[(0,o.mY)("Para reducir los retrasos al iniciar Tomcat cada vez que realizas un cambio, hay un truco que puedes usar basado en un artículo en el "),(0,o.QD)("a",v,[(0,o.mY)("blog Beyond Java."),(0,o.K2)(r)]),(0,o.mY)(" Utilizando una herramienta de sincronización de archivos, puedes copiar las clases actualizadas al servidor Tomcat sin tener que volver a cargar todo el servidor. Puedes perder el estado de la aplicación, pero no tendrás que esperar 30 segundos o más después de cada cambio para reiniciar el servidor.")]),(0,o.QD)("p",null,[(0,o.mY)("Descarga e instala el "),(0,o.QD)("a",D,[(0,o.mY)("plugin de Eclipse FileSync"),(0,o.K2)(r)]),(0,o.mY)(".")]),A,(0,o.QD)("p",null,[(0,o.mY)("Crea un servidor y agrega la plantilla al servidor siguiendo el "),(0,o.QD)("a",k,[(0,o.mY)("mismo proceso"),(0,o.K2)(r)]),(0,o.mY)(" que para el proyecto ADempiere. Abre las propiedades del servidor y toma nota de la ubicación donde se implementará el proyecto. Esto suele ser una carpeta como la siguiente:")]),w])}]])},24668:(e,a,r)=>{r.r(a),r.d(a,{data:()=>o});const o=JSON.parse('{"key":"v-2f9a7ebc","path":"/es/docs/developer-guide/customization-environment.html","title":"Entorno de Personalización","lang":"es-ES","frontmatter":{"title":"Entorno de Personalización","category":"Documentación","star":9,"sticky":9,"tag":["Guía","Desarrollo"],"article":false,"description":"Cómo configurar un entorno de personalización para el software ADempiere Este tutorial te mostrará cómo personalizar el software central de ADempiere sin realizar cambios directos en el proyecto ADempiere. En su lugar, los cambios de personalización se incluyen en customization.jar y zkcustomization.jar, que se pueden implementar en la instalación de ADempiere.","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://github.com/adempiere/adempiere-site.github.io/docs/developer-guide/customization-environment.html"}],["meta",{"property":"og:url","content":"https://github.com/adempiere/adempiere-site.github.io/es/docs/developer-guide/customization-environment.html"}],["meta",{"property":"og:title","content":"Entorno de Personalización"}],["meta",{"property":"og:description","content":"Cómo configurar un entorno de personalización para el software ADempiere Este tutorial te mostrará cómo personalizar el software central de ADempiere sin realizar cambios directos en el proyecto ADempiere. En su lugar, los cambios de personalización se incluyen en customization.jar y zkcustomization.jar, que se pueden implementar en la instalación de ADempiere."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"es-ES"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-12-26T20:09:37.000Z"}],["meta",{"property":"article:author","content":"ADempiere"}],["meta",{"property":"article:tag","content":"Guía"}],["meta",{"property":"article:tag","content":"Desarrollo"}],["meta",{"property":"article:modified_time","content":"2023-12-26T20:09:37.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Entorno de Personalización\\",\\"description\\":\\"Cómo configurar un entorno de personalización para el software ADempiere Este tutorial te mostrará cómo personalizar el software central de ADempiere sin realizar cambios directos en el proyecto ADempiere. En su lugar, los cambios de personalización se incluyen en customization.jar y zkcustomization.jar, que se pueden implementar en la instalación de ADempiere.\\"}"],["link",{"rel":"alternate","type":"application/atom+xml","href":"https://github.com/adempiere/adempiere-site.github.io/es/atom.xml","title":" Atom Feed"}],["link",{"rel":"alternate","type":"application/json","href":"https://github.com/adempiere/adempiere-site.github.io/es/feed.json","title":" JSON Feed"}],["link",{"rel":"alternate","type":"application/rss+xml","href":"https://github.com/adempiere/adempiere-site.github.io/es/rss.xml","title":" RSS Feed"}]]},"headers":[{"level":3,"title":"Cómo configurar un entorno de personalización para el software ADempiere","slug":"como-configurar-un-entorno-de-personalizacion-para-el-software-adempiere","link":"#como-configurar-un-entorno-de-personalizacion-para-el-software-adempiere","children":[]},{"level":2,"title":"Introducción","slug":"introduccion","link":"#introduccion","children":[{"level":3,"title":"Cómo configurar tu entorno","slug":"como-configurar-tu-entorno","link":"#como-configurar-tu-entorno","children":[]},{"level":3,"title":"Crear el Proyecto ADempiere","slug":"crear-el-proyecto-adempiere","link":"#crear-el-proyecto-adempiere","children":[]},{"level":3,"title":"Crear el Proyecto de Personalización","slug":"crear-el-proyecto-de-personalizacion","link":"#crear-el-proyecto-de-personalizacion","children":[]},{"level":3,"title":"Personalización de la Interfaz de Usuario Swing","slug":"personalizacion-de-la-interfaz-de
1-usuario-swing","link":"#personalizacion-de-la-interfaz-de-usuario-swing","children":[]},{"level":3,"title":"Personalización de la Interfaz de Usuario ZK","slug":"personalizacion-de-la-interfaz-de-usuario-zk","link":"#personalizacion-de-la-interfaz-de-usuario-zk","children":[]},{"level":3,"title":"Pruebas con la plantilla","slug":"pruebas-con-la-plantilla","link":"#pruebas-con-la-plantilla","children":[]},{"level":3,"title":"Exportación de los archivos JAR de personalización","slug":"exportacion-de-los-archivos-jar-de-personalizacion","link":"#exportacion-de-los-archivos-jar-de-personalizacion","children":[]}]}],"git":{"createdTime":1703621377000,"updatedTime":1703621377000,"contributors":[{"name":"Jesús Albujas","email":"[email protected]","commits":1}]},"readingTime":{"minutes":4.5,"words":1349},"filePathRelative":"es/docs/developer-guide/customization-environment.md","localizedDate":"26 de diciembre de 2023","excerpt":"<h3> Cómo configurar un entorno de personalización para el software ADempiere</h3>\\n<p>Este tutorial te mostrará cómo personalizar el software central de ADempiere sin realizar cambios directos en el proyecto ADempiere. En su lugar, los cambios de personalización se incluyen en customization.jar y zkcustomization.jar, que se pueden implementar en la instalación de ADempiere.</p>","autoDesc":true}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.