problemas desplegando alfresco en tomcat

cancel
Showing results for 
Search instead for 
Did you mean: 
jaime_martin
Member II

problemas desplegando alfresco en tomcat

hola:
Hasta ahora habia modificado alguna jsp y archivo de configuración directamente dentro de ../tomcat/webapps/alfresco/… de la instalación para probar ciertas cosas.
Para hacer las cosas bien y hacer despliegues como es debido he hecho lo siguiente:
- Me he bajado la última de SVN de http://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD
- He hecho un pequeño cambio en la página login.jsp que está bajo
…\HEAD\root\projects\web-client\source\web\jsp\
He lanzado desde consola este comando:

ant build-tomcat
sin haber modificado el /root/build.xml

El alfresco.war se genera sin problemas. Sin embargo al hacer un start alfresco server se genera el siguiente error:
ry' defined in class path resource [alfresco/hibernate-context.xml]: Invocation
of init method failed; nested exception is org.hibernate.HibernateException: Sql
Node's text did not reference expected number of columns
Caused by: org.springframework.beans.factory.BeanCreationException: Error creati
ng bean with name 'sessionFactory' defined in class path resource [alfresco/hibe
rnate-context.xml]: Invocation of init method failed; nested exception is org.hi
bernate.HibernateException: SqlNode's text did not reference expected number of
columns
Caused by: org.hibernate.HibernateException: SqlNode's text did not reference ex
pected number of columns
        at org.hibernate.hql.ast.tree.BinaryLogicOperatorNode.extractMutationTex
ts(BinaryLogicOperatorNode.java:156)
        at org.hibernate.hql.ast.tree.BinaryLogicOperatorNode.mutateRowValueCons
tructorSyntax(BinaryLogicOperatorNode.java:94)
        at org.hibernate.hql.ast.tree.BinaryLogicOperatorNode.mutateRowValueCons
tructorSyntaxesIfNecessary(BinaryLogicOperatorNode.java:71)
        at org.hibernate.hql.ast.tree.BinaryLogicOperatorNode.initialize(BinaryL
ogicOperatorNode.java:51)
        at org.hibernate.hql.ast.HqlSqlWalker.prepareLogicOperator(HqlSqlWalker.
java:1007)
        at org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWal
ker.java:3992)
        at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker
.java:1762)
        at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker
.java:1690)
        at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker
.java:1687)
        at org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker
.java:776)
        at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:
577)
        at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWa
lker.java:281)
        at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.j
ava:229)
        at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl
.java:228)
        at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorIm
pl.java:160)
        at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl
.java:111)
        at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
        at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
        at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCa
che.java:72)
        at org.hibernate.impl.SessionFactoryImpl.checkNamedQueries(SessionFactor
yImpl.java:402)
        at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:
352)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.jav
a:1300)
        at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSession
Factory(LocalSessionFactoryBean.java:805)
        at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessi
onFactory(LocalSessionFactoryBean.java:745)
        at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPr
opertiesSet(AbstractSessionFactoryBean.java:134)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:425)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:261)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:421)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:261)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:421)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:261)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:421)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:261)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:421)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.aop.framework.ProxyFactoryBean.freshTargetSource(
ProxyFactoryBean.java:541)
        at org.springframework.aop.framework.ProxyFactoryBean.getSingletonInstan
ce(ProxyFactoryBean.java:290)
        at org.springframework.aop.framework.ProxyFactoryBean.getObject(ProxyFac
toryBean.java:227)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObje
ctFromFactoryBean(AbstractBeanFactory.java:1236)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObje
ctForBeanInstance(AbstractBeanFactory.java:1207)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:262)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:261)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:421)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:261)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:421)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:261)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:421)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:261)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:421)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:160)
        at org.springframework.context.support.AbstractApplicationContext.getBea
n(AbstractApplicationContext.java:733)
        at org.springframework.context.support.AbstractApplicationContext.invoke
BeanFactoryPostProcessors(AbstractApplicationContext.java:472)
        at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:334)
        at org.springframework.web.context.ContextLoader.createWebApplicationCon
text(ContextLoader.java:244)
        at org.springframework.web.context.ContextLoader.initWebApplicationConte
xt(ContextLoader.java:187)
        at org.springframework.web.context.ContextLoaderListener.contextInitiali
zed(ContextLoaderListener.java:49)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
t.java:3764)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
216)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:74
0)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)

        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)

        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714
)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)

        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443
)
        at org.apache.catalina.core.StandardService.start(StandardService.java:4
48)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
13-oct-2008 18:21:15 org.apache.catalina.core.StandardContext start
GRAVE: Error listenerStart
13-oct-2008 18:21:15 org.apache.catalina.core.StandardContext start
GRAVE: Fall¾ en arranque del Contexto [/alfresco] debido a errores previos
log4j:ERROR LogMananger.repositorySelector was null likely due to error in class
reloading, using NOPLoggerRepository.
13-oct-2008 18:21:19 org.apache.catalina.startup.HostConfig deployWAR
INFO: Despliegue del archivo share.war de la aplicaci¾n web
18:21:24,268  INFO  [web.site.FrameworkHelper] Successfully Initialized Web Fram
ework
13-oct-2008 18:21:24 org.apache.coyote.http11.Http11BaseProtocol start
INFO: Arrancando Coyote HTTP/1.1 en puerto http-8081
13-oct-2008 18:21:24 org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
13-oct-2008 18:21:24 org.apache.catalina.startup.Catalina start
INFO: Server startup in 44688 ms

En la carpeta de /tomcat/logs
el archivo catalina.2008-10-13.log tan solo muestra esto:
13-oct-2008 18:32:12 org.apache.coyote.http11.Http11BaseProtocol init
INFO: Inicializando Coyote HTTP/1.1 en puerto http-8081
13-oct-2008 18:32:12 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1531 ms
13-oct-2008 18:32:12 org.apache.catalina.core.StandardService start
INFO: Arrancando servicio Catalina
13-oct-2008 18:32:12 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
13-oct-2008 18:32:12 org.apache.catalina.core.StandardHost start
INFO: Desactivada la validación XML
13-oct-2008 18:32:14 org.apache.catalina.startup.HostConfig deployWAR
INFO: Despliegue del archivo alfresco.war de la aplicación web
13-oct-2008 18:32:44 org.apache.catalina.core.StandardContext start
GRAVE: Error listenerStart
13-oct-2008 18:32:44 org.apache.catalina.core.StandardContext start
GRAVE: Falló en arranque del Contexto [/alfresco] debido a errores previos
13-oct-2008 18:32:47 org.apache.catalina.startup.HostConfig deployWAR
INFO: Despliegue del archivo share.war de la aplicación web
13-oct-2008 18:32:52 org.apache.coyote.http11.Http11BaseProtocol start
INFO: Arrancando Coyote HTTP/1.1 en puerto http-8081
13-oct-2008 18:32:52 org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
13-oct-2008 18:32:52 org.apache.catalina.startup.Catalina start
INFO: Server startup in 39766 ms
y el resto de logs no han cambiado su contenido.

¿qué estoy haciendo mal?
Por cierto,¿el error que sale por consola no se guarda en ningún archivo de log?
muchas gracias!
2 Replies
ajv
Member II

Re: problemas desplegando alfresco en tomcat

Hola Jaime,

Eso que dices tiene pinta de ser un problema entre versiones.
El código fuente al que has accedido por svn debe ser la última de las versiones de Alfresco (la que van poniendo al alcance de todos, pero que no se corresponde con una versión 'estable'). Al intentar ubicar el war generado a partir de ese código en tu aplicación (que supongo que será un Alfresco 2.1 o similar), es normal que te pueda dar problemas de este tipo.

Si tu intención es hacer despliegues o ir introduciendo extensiones a un Alfresco en concreto, te recomiendo que mires el tema de los AMPs.
Un archivo AMP es una colección de código, XML, imágenes, etc. que de forma conjunta extienden la funcionalidad o datos provistos por el repositorio estándar de Alfresco. Se introdujo si no recuerdo mal a partir de la versión 2.1 y es un mecanismo para hacer incorporaciones personalizadas en Alfresco sin interferir en lo que viene por defecto.
Realicé una mini-guía al respecto, que quizás te puede venir bien  Smiley Very Happy
http://forums.alfresco.com/es/viewtopic.php?f=11&t=594

Hasta pronto!
jaime_martin
Member II

Re: problemas desplegando alfresco en tomcat

muchas gracias Adrián. Me surgen algunas dudas más sobre este tema.
¿donde se puede descargar la ultima versión estable? Me refiero a nivel del código para ver lo que hay por dentro y crear módulos en consecuencia para modifciar algunas jsp, xml y java. Ya que si lo que me he bajado es inestable necesito un punto de partida estable para a partir de ahí poder cambiar lo que me interese.

Lo que me baje ayer fue de
http://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD
ahora he probado con este otro:
svn://svn.alfresco.com/alfresco/HEAD
y me sale este error:
svn: Can't connect to host 'svn.alfresco.com': Se produjo un error durante el in
tento de conexión ya que la parte conectada no respondió adecuadamente tras un p
eriodo de tiempo, o bien se produjo un error en la conexión establecida ya que e
l host conectado no ha podido responder.

Si solo se quieren cambiar algo de una jsp, si se quieren hacer las cosas bien ¿hay que hacer también AMPs?. He estado ojeando la mini guia y me parece un tanto extraño que haga falta tanto sólo para cambiar el logo de la pantalla de login o añadir un mensaje de texto. Pero bueno si es así, pues que remedio que cosas peores hemos visto en el mundo informático. Mi idea era cambiar directamente la jsp y desplegar al igual que se hace con otros frameworks para un cambio puntual y localizado, lo que no quita AMPs para algo más serio.
Aprovecho para felicitarte por la guia, que está muy currada. Cuando pueda me pondré a hacer algún AMP.
gracias por adelantado!