Hai-Dang, Would you be able to send a copy of your app so that we can further test whether there is a bug in the redeploy? Thanks, Jay David Jencks wrote: > I agree about using "inPlace". > > I don't think your explanation of the redeploy error is accurate, since > the original deploy, whether onlne or offline should install everything > needed into the g. repo. So, there might be a bug in the redeploy comand. > > thanks > david jencks > > On Dec 8, 2009, at 1:46 PM, Jay D. McHugh wrote: > >> Hey Juergen, >> >> Did you perhaps want to do an 'inPlace' deployment? >> >> I think that might give you the result you are looking for. >> >> Then changes to the contents of the /projekte/test directory would >> affect the deployed app. >> >> Otherwise, I believe that an offline deployment would cause your app to >> be uploaded into the Geronimo repository. And if you do not have a >> geronimo-web.xml in that directory (or specify one in the deploy >> command) then Geronimo will not know what you expect your app to be >> called. And that is why you are having problems during the redeploy. >> >> Jay >> >> Juergen Weber wrote: >>> Hi, >>> >>> I played with web apps and G2.2 2009.11.28-05:33:51.600-0800 >>> geronimo-tomcat6-javaee5-2.2 >>> >>> I have deployed an exploded webapp (see below) with >>> >>> ./deploy.sh -u system -p manager --offline deploy /projekte/test >>> >>> I found that restarting the web app does not reflect changes in >>> web.xml, not >>> even in a .jsp >>> This is surprising, as I'd expect, that reloading the page would get >>> changes >>> in a jsp and restarting the app would get changes in web.xml (I >>> believe this >>> is Tomcat's behaviour) >>> >>> I found that the only way to get the changes was to undeploy and >>> deploy the >>> application again. >>> deploy.sh redeploy got me the exception below. >>> >>> I think this behaviour is not quite perfect, I'd very much prefer >>> Tomcat's >>> behaviour. >>> >>> Thanks, >>> Juergen >>> >>> -------------------- >>> >>> >>> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee >>> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >>> version="2.4"> >>> >>> test >>> >>> >>> hello >>> world >>> >>> >>> >>> -------------------- >>> hello >>> >>> >>> hello is: = <%= application.getInitParameter("hello") %> >>> >>> >>> >>> -------------------- >>> >>> >>> >>> weberjn@linda:/projekte/geronimo-tomcat6-javaee5-2.2/bin$ ./deploy.sh -u >>> system -p manager --offline redeploy /projekte/test >>> Using GERONIMO_HOME: /projekte/geronimo-tomcat6-javaee5-2.2 >>> Using GERONIMO_TMPDIR: var/temp >>> Using JRE_HOME: /projekte/jdk1.6.0_17/jre >>> No ModuleID or TargetModuleID provided. Attempting to guess based >>> on the content of the archive. >>> Unable to locate Geronimo deployment plan in archive. Calculating >>> default ModuleID from archive name. >>> Attempting to use ModuleID 'default/test//' >>> 2009-12-08 21:44:46,516 ERROR [GBeanInstanceState] Error while starting; >>> GBean is now in the FAILED state: >>> abstractName="default/test/1260304611193/car?configurationName=default/test/1260304611193/car" >>> >>> org.apache.geronimo.kernel.config.InvalidConfigException: Class not >>> loadable >>> in classloader: >>> [org.apache.geronimo.kernel.config.MultiParentClassLoader >>> id=default/test/1260304611193/car] >>> at >>> org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(SerializedGBeanState.java:133) >>> >>> at >>> org.apache.geronimo.kernel.config.SerializedGBeanState.getGBeans(SerializedGBeanState.java:64) >>> >>> at >>> org.apache.geronimo.kernel.config.ConfigurationData.getGBeans(ConfigurationData.java:177) >>> >>> at >>> org.apache.geronimo.kernel.config.Configuration.(Configuration.java:295) >>> >>> at sun.reflect.GeneratedConstructorAccessor20.newInstance(Unknown >>> Source) >>> at >>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) >>> >>> at >>> java.lang.reflect.Constructor.newInstance(Constructor.java:513) >>> at >>> org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.create(ReflectionUtil.java:952) >>> >>> at >>> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:276) >>> >>> at >>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96) >>> at >>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61) >>> at >>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:911) >>> >>> at >>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:269) >>> >>> at >>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:103) >>> >>> at >>> org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:525) >>> >>> at >>> org.apache.geronimo.kernel.basic.BasicKernel.startGBean(BasicKernel.java:359) >>> >>> at >>> org.apache.geronimo.kernel.config.KernelConfigurationManager.load(KernelConfigurationManager.java:163) >>> >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:1070) >>> >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:780) >>> >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:747) >>> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at >>> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34) >>> >>> at >>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:130) >>> >>> at >>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:816) >>> >>> at >>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) >>> at >>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) >>> >>> at >>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) >>> >>> at >>> org.apache.geronimo.gbean.GBeanLifecycle$$EnhancerByCGLIB$$a2c78da6.reloadConfiguration() >>> >>> at >>> org.apache.geronimo.deployment.plugin.local.RedeployCommand.redeployUpdatedConfiguration(RedeployCommand.java:139) >>> >>> at >>> org.apache.geronimo.deployment.plugin.local.RedeployCommand.run(RedeployCommand.java:106) >>> >>> at java.lang.Thread.run(Thread.java:619) >>> Caused by: java.lang.ClassNotFoundException: Unable to find class >>> used in >>> GBeanData >>> default/test/1260304611193/car?J2EEApplication=null,j2eeType=WebModule,name=default/test/1260304611193/car >>> >>> at >>> org.apache.geronimo.gbean.GBeanData$V0Externalizable.readExternal(GBeanData.java:363) >>> >>> at >>> org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:282) >>> at >>> org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(SerializedGBeanState.java:124) >>> >>> ... 33 more >>> Caused by: java.lang.ClassNotFoundException: Unable to find class >>> used in >>> GBeanData >>> default/test/1260304611193/car?J2EEApplication=null,j2eeType=WebModule,name=default/test/1260304611193/car, >>> >>> attribute: holder >>> at >>> org.apache.geronimo.gbean.GBeanData$V0Externalizable.readExternal(GBeanData.java:332) >>> >>> ... 35 more >>> Caused by: java.lang.ClassNotFoundException: Could not load class >>> org.apache.geronimo.j2ee.annotation.Holder from classloader: >>> default/test/1260304611193/car, destroyed state: false >>> at >>> org.apache.geronimo.kernel.ClassLoading.loadClass(ClassLoading.java:213) >>> at >>> org.apache.geronimo.kernel.ObjectInputStreamExt.resolveClass(ObjectInputStreamExt.java:38) >>> >>> at >>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575) >>> at >>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) >>> at >>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) >>> >>> at >>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >>> at >>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >>> at >>> org.apache.geronimo.gbean.GBeanData$V0Externalizable.readExternal(GBeanData.java:330) >>> >>> ... 35 more >>> Deployer operation failed: reload of default/test/1260305085420/car >>> failed >>> org.apache.geronimo.kernel.config.LifecycleException: reload of >>> default/test/1260305085420/car failed >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:1102) >>> >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:780) >>> >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:747) >>> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at >>> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34) >>> >>> at >>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:130) >>> >>> at >>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:816) >>> >>> at >>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) >>> at >>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) >>> >>> at >>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) >>> >>> at >>> org.apache.geronimo.gbean.GBeanLifecycle$$EnhancerByCGLIB$$a2c78da6.reloadConfiguration() >>> >>> at >>> org.apache.geronimo.deployment.plugin.local.RedeployCommand.redeployUpdatedConfiguration(RedeployCommand.java:139) >>> >>> at >>> org.apache.geronimo.deployment.plugin.local.RedeployCommand.run(RedeployCommand.java:106) >>> >>> at java.lang.Thread.run(Thread.java:619) >>> Caused by: java.lang.NullPointerException >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:1040) >>> >>> ... 16 more >>> Redeployed default/test/1260305085420/car >>> 2009-12-08 21:44:46,536 ERROR [DeployTool] Error: >>> org.apache.geronimo.common.DeploymentException: Operation failed: >>> reload of >>> default/test/1260305085420/car failed >>> org.apache.geronimo.kernel.config.LifecycleException: reload of >>> default/test/1260305085420/car failed >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:1102) >>> >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:780) >>> >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:747) >>> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at >>> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34) >>> >>> at >>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:130) >>> >>> at >>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:816) >>> >>> at >>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) >>> at >>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) >>> >>> at >>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) >>> >>> at >>> org.apache.geronimo.gbean.GBeanLifecycle$$EnhancerByCGLIB$$a2c78da6.reloadConfiguration() >>> >>> at >>> org.apache.geronimo.deployment.plugin.local.RedeployCommand.redeployUpdatedConfiguration(RedeployCommand.java:139) >>> >>> at >>> org.apache.geronimo.deployment.plugin.local.RedeployCommand.run(RedeployCommand.java:106) >>> >>> at java.lang.Thread.run(Thread.java:619) >>> Caused by: java.lang.NullPointerException >>> at >>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.reloadConfiguration(SimpleConfigurationManager.java:1040) >>> >>> ... 16 more >>> >>> at >>> org.apache.geronimo.deployment.cli.CommandRedeploy.execute(CommandRedeploy.java:167) >>> >>> at >>> org.apache.geronimo.deployment.cli.DeployTool.execute(DeployTool.java:168) >>> >>> at >>> org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45) >>> >>> at >>> org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:65) >>> at >>> org.apache.geronimo.cli.deployer.DeployerCLI.main(DeployerCLI.java:31) >>> weberjn@linda:/projekte/geronimo-tomcat6-javaee5-2.2/bin$ >>> >>> >