3 Replies Latest reply on Sep 9, 2009 1:43 AM by am2605

    Deploy webapp in external dir (AS 5.1.0)

    am2605

      Hi,

      I'd like to try and deploy some of my apps to directories which aren't until the JBOSS_HOME, but I'm not really sure how to do it, and/or if it is possible to do what I want.

      I found this wiki page: http://www.jboss.org/community/wiki/HowtodeploymyapplicationinanexternaldirectoryinJBoss-5

      however when I try it, I get some errors on startup.

      Using this approach, the relevant section of my profile.xml looks like this:



      ${jboss.server.home.url}deploy

      <!-- Custom deploy folders -->
      c:/app1
      c:/app2



      Both c:/app1 and c:/app2 are empty folders (I have also tried placing a .war file in each).

      However JBoss won't start with this configuration. I think it's expecting more stuff in those folders yes? eg.

      ejb3-container-jboss-beans.xml
      hdscanner-jboss-beans.xml
      hsqldb-ds.xml
      http-invoker.sar
      jboss-local-jdbc.rar
      jboss-xa-jdbc.rar
      jbossweb.sar
      jca-jboss-beans.xml
      jmx-console.war
      jmx-invoker-service.xml
      ROOT.war
      security
      transaction-jboss-beans.xml

      HOwever this isn't what I want. What I really want to do is just have 2 apps each in a separate folder.

      Similar to what you can do by adding this to a standalone tomcat's conf/server.xml:

      <Host name="app1.local" appBase="webapps"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
       <Context path="" docBase="c:/app1"/>
      </Host>


      Is it possible to do this on JBoss 5.1.0, and if so, how?

      Thanks in advance,
      Andrew.



        • 1. Re: Deploy webapp in external dir (AS 5.1.0)
          jaikiran

          Please (re)post your configuration file change that you did and also post the entire exception stacktrace that you see after this change.

          While posting logs or xml content or code, please remember to wrap it in a code block by using the Code button in the message editor window. Please use the Preview button to ensure that your post is correctly formatted.

          • 2. Re: Deploy webapp in external dir (AS 5.1.0)
            am2605

            As requested:

            C:\jboss\jboss-5.1.0.GA\server\railo\conf\bootstrap\profile.xml:

            <?xml version="1.0" encoding="UTF-8"?>
            
            <!--
             The profile service
             $Id: profile.xml 89131 2009-05-19 20:18:52Z scott.stark@jboss.org $
            -->
            <deployment xmlns="urn:jboss:bean-deployer:2.0">
            
             <classloader><inject bean="profile-classloader:0.0.0" /></classloader>
            
             <classloader name="profile-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
             <root>${jboss.lib.url}jboss-profileservice-spi.jar</root>
             </classloader>
            
             <!--
             The profile configuration
             This contains required properties:
             The uri to jboss-service.xml.
             The uri to the deployers folder.
             A list of uris to deploy folders. -->
             <bean name="BootstrapProfileFactory" class="org.jboss.system.server.profileservice.repository.StaticProfileFactory">
             <property name="bindingsURI">${jboss.server.home.url}conf/bindingservice.beans</property>
             <property name="bootstrapURI">${jboss.server.home.url}conf/jboss-service.xml</property>
             <property name="deployersURI">${jboss.server.home.url}deployers</property>
             <property name="applicationURIs">
             <list elementClass="java.net.URI">
             <value>${jboss.server.home.url}deploy</value>
             <value>C:/www/railo-deploy</value>
             </list>
             </property>
             <property name="attachmentStoreRoot">${jboss.server.data.dir}/attachments</property>
             <property name="profileFactory"><inject bean="ProfileFactory" /></property>
             </bean>
            
             <!-- The default profile key -->
             <bean name="DefaultProfileKey" class="org.jboss.profileservice.spi.ProfileKey">
             <constructor><parameter>${jboss.server.name}</parameter></constructor>
             </bean>
            
             <!-- The ProfileService -->
             <bean name="ProfileService" class="org.jboss.system.server.profileservice.repository.AbstractProfileService">
             <constructor><parameter><inject bean="jboss.kernel:service=KernelController" /></parameter></constructor>
             <property name="deployer"><inject bean="ProfileServiceDeployer" /></property>
             <property name="defaultProfile"><inject bean="DefaultProfileKey" /></property>
             </bean>
            
             <!-- The Bootstrap implementation that loads the Profile from the ProfileService -->
             <bean name="ProfileServiceBootstrap" class="org.jboss.system.server.profileservice.ProfileServiceBootstrap">
             <property name="profileKey"><inject bean="DefaultProfileKey" /></property>
             <property name="mainDeployer"><inject bean="MainDeployer" /></property>
             <property name="profileService"><inject bean="ProfileService" /></property>
             <property name="mof"><inject bean="ManagedObjectFactory" /></property>
             <property name="mgtDeploymentCreator"><inject bean="ManagedDeploymentCreator" /></property>
             <property name="bootstrapProfileFactory"><inject bean="BootstrapProfileFactory" /></property>
             <property name="configurator"><inject bean="jboss.kernel:service=Kernel" property="configurator"/></property>
             </bean>
            
             <!-- The profile factory -->
             <bean name="ProfileFactory" class="org.jboss.system.server.profileservice.repository.TypedProfileFactory">
             <!-- Accept any AbstractprofileFactory -->
             <incallback method="addProfileFactory" />
             <uncallback method="removeProfileFactory" />
             </bean>
            
             <!-- The profile repository factory -->
             <bean name="ProfileRepositoryFactory" class="org.jboss.system.server.profileservice.repository.TypedProfileRepository">
             <!-- Accept any DeploymentRepositoryFactory -->
             <incallback method="addRepositoryFactory" />
             <uncallback method="removeRepositoryFactory" />
             </bean>
            
             <!-- The structure modification cache and checker -->
             <bean name="StructureModCache" class="org.jboss.deployers.vfs.spi.structure.modified.DefaultStructureCache">
             <destroy method="flush"/>
             </bean>
            
             <!-- This just checks metadata locations -->
             <bean name="MetaDataStructureModificationChecker" class="org.jboss.deployers.vfs.spi.structure.modified.MetaDataStructureModificationChecker">
             <constructor>
             <parameter><inject bean="MainDeployer" /></parameter>
             </constructor>
             <property name="cache"><inject bean="StructureModCache" /></property>
             <property name="filter"><bean class="org.jboss.system.server.profile.basic.XmlIncludeVirtualFileFilter" /></property>
             </bean>
            
             <!-- Synchs modifed files -->
             <bean name="SynchAdapter" class="org.jboss.deployers.vfs.spi.structure.modified.OverrideSynchAdapter"/>
            
             <!-- We just visit wars, but exclude classes, lib, dev dirs -->
             <bean name="WebVisitorAttributes" class="org.jboss.system.server.profile.basic.IncludeExcludeVisitorAttributes">
             <constructor>
             <parameter>
             <set>
             <value>.war</value>
             </set>
             </parameter>
             <parameter>
             <set>
             <value>WEB-INF/classes</value>
             <value>WEB-INF/lib</value>
             <value>WEB-INF/dev</value>
             </set>
             </parameter>
             </constructor>
             </bean>
            
             <bean name="StructureModificationChecker" class="org.jboss.deployers.vfs.spi.structure.modified.SynchWrapperModificationChecker">
             <constructor>
             <parameter><inject bean="MetaDataStructureModificationChecker"/></parameter>
             <parameter><inject bean="SynchAdapter"/></parameter>
             </constructor>
             <property name="originalAttributes"><inject bean="WebVisitorAttributes"/></property>
             <property name="tempAttributes"><inject bean="WebVisitorAttributes"/></property>
             </bean>
            
             <bean name="BasicProfileFactory" class="org.jboss.system.server.profileservice.repository.BasicProfileFactory">
             <property name="profileRepository"><inject bean="ProfileRepositoryFactory" /></property>
             </bean>
             <bean name="FilteredProfileFactory" class="org.jboss.system.server.profileservice.repository.FilteredProfileFactory"/>
            
             <!-- The default deployment repository factory -->
             <bean name="DefaultDeploymentRepositoryFactory" class="org.jboss.system.server.profileservice.repository.DefaultDeploymentRepositoryFactory">
             <property name="deploymentFilter"><inject bean="DeploymentFilter" /></property>
             <property name="checker"><inject bean="StructureModificationChecker" /></property>
             </bean>
            
             <bean name="ComponentMapperRegistry"
             class="org.jboss.system.server.profileservice.persistence.component.ComponentMapperRegistry">
             <constructor factoryClass="org.jboss.system.server.profileservice.persistence.component.ComponentMapperRegistry" factoryMethod="getInstance"/>
             <!-- Accept any AbstractprofileFactory -->
             <incallback method="addMapper" />
             <uncallback method="removeComponentMapper" />
             </bean>
            
             <!-- A persistence factory for creating the persisted format of ManagedComponents -->
             <bean name="PersistenceFactory" class="org.jboss.system.server.profileservice.persistence.AbstractPersistenceFactory">
             <constructor><parameter><inject bean="ManagedObjectFactory" /></parameter></constructor>
             <!-- Accept any ComponentMapper -->
             <incallback method="addComponentMapper" />
             <uncallback method="removeComponentMapper" />
             <!-- Accept any ManagedObjectPersistencePlugin -->
             <incallback method="addPersistencePlugin" />
             <uncallback method="removePersistencePlugin" />
             </bean>
            
             <!-- The attachment store -->
             <bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore">
             <constructor><parameter><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter></constructor>
             <property name="mainDeployer"><inject bean="MainDeployer" /></property>
             <property name="serializer"><inject bean="AttachmentsSerializer" /></property>
             <property name="persistenceFactory"><inject bean="PersistenceFactory" /></property>
             </bean>
            
             <bean name="AttachmentsSerializer" class="org.jboss.system.server.profileservice.repository.JAXBAttachmentSerializer">
             <constructor><parameter><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter></constructor>
             </bean>
            
             <bean name="ProfileServiceDeployer" class="org.jboss.system.server.profileservice.repository.MainDeployerAdapter">
             <property name="mainDeployer"><inject bean="MainDeployer" /></property>
             <property name="attachmentStore"><inject bean="AttachmentStore" /></property>
             </bean>
            
             <bean name="ProfileServicePersistenceDeployer" class="org.jboss.system.server.profileservice.persistence.deployer.ProfileServicePersistenceDeployer">
             <property name="persistenceFactory"><inject bean="PersistenceFactory" /></property>
             <property name="attachmentStore"><inject bean="AttachmentStore" /></property>
             </bean>
            
             <bean name="KernelDeploymentComponentMapper" class="org.jboss.deployers.plugins.managed.KernelDeploymentComponentMapper">
             <constructor><parameter><inject bean="PersistenceFactory" /></parameter></constructor>
             <!-- Register under the attachment interface name as well -->
             <install bean="ComponentMapperRegistry" method="addMapper">
             <parameter class="java.lang.String">org.jboss.kernel.spi.deployment.KernelDeployment</parameter>
             <parameter class="org.jboss.system.server.profileservice.persistence.component.ComponentMapper"><this/></parameter>
             </install>
             <uninstall bean="ComponentMapperRegistry" method="removeComponentMapper">
             <parameter class="java.lang.String">org.jboss.kernel.spi.deployment.KernelDeployment</parameter>
             </uninstall>
             </bean>
             <bean name="ServiceDeploymentComponentMapper" class="org.jboss.system.deployers.managed.ServiceDeploymentComponentMapper">
             <constructor><parameter><inject bean="PersistenceFactory" /></parameter></constructor>
             </bean>
            
             <!-- A filter for excluding files from the scanner -->
             <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
             <!-- Files starting with theses strings are ignored -->
             <property name="prefixes">#,%,\,,.,_$</property>
             <!-- Files ending with theses strings are ignored -->
             <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
             <!-- Files matching with theses strings are ignored -->
             <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
             </bean>
            
            </deployment>


            The error message is:

            2009-09-09 15:16:29,380 ERROR [org.jboss.system.server.profileservice.repository.ScopedProfileServiceController] (main) Error installing to Create: name=ProfileKey@f51766[domain=default, server=default, name=applications] state=Configured mode=On Demand requiredState=Installed
            java.lang.reflect.InvocationTargetException
             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.jboss.system.server.profileservice.repository.AbstractProfileLifeCycleAction.invoke(AbstractProfileLifeCycleAction.java:97)
             at org.jboss.system.server.profileservice.repository.AbstractProfileLifeCycleAction.invoke(AbstractProfileLifeCycleAction.java:77)
             at org.jboss.system.server.profileservice.repository.AbstractProfileLifeCycleAction.install(AbstractProfileLifeCycleAction.java:49)
             at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
             at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
             at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
             at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
             at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
             at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
             at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
             at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
             at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
             at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
             at org.jboss.Main.boot(Main.java:221)
             at org.jboss.Main$1.run(Main.java:556)
             at java.lang.Thread.run(Thread.java:619)
            Caused by: java.io.IOException: No context factory for C:/www/railo-deploy
             at org.jboss.virtual.VFS.getVFS(VFS.java:168)
             at org.jboss.virtual.VFS.createNewRoot(VFS.java:185)
             at org.jboss.virtual.VFS.getRoot(VFS.java:201)
             at org.jboss.system.server.profileservice.repository.AbstractVFSProfileSource.getCachedVirtualFile(AbstractVFSProfileSource.java:353)
             at org.jboss.system.server.profileservice.repository.BasicDeploymentRepository.load(BasicDeploymentRepository.java:113)
             at org.jboss.system.server.profile.repository.AbstractProfile.create(AbstractProfile.java:158)
             ... 22 more
            2009-09-09 15:16:29,553 ERROR [STDERR] (main) Failed to boot JBoss:
            2009-09-09 15:16:29,554 ERROR [STDERR] (main) java.lang.IllegalStateException: Incompletely deployed:
            
            *** PROFILES IN ERROR: Name -> Error
            Profile: ProfileKey@f51766[domain=default, server=default, name=applications] in error due to java.lang.reflect.InvocationTargetException
            
            *** PROFILES MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
            ProfileKey@8eed76[domain=default, server=default, name=railo] is missing following dependencies: ProfileKey@f51766[domain=default, server=default, name=applications]{Installed:**ERROR**}
            2009-09-09 15:16:29,575 ERROR [STDERR] (main) at org.jboss.system.server.profileservice.repository.AbstractProfileService.logErrors(AbstractProfileService.java:567)
            2009-09-09 15:16:29,579 ERROR [STDERR] (main) at org.jboss.system.server.profileservice.repository.AbstractProfileService.validate(AbstractProfileService.java:348)
            2009-09-09 15:16:29,582 ERROR [STDERR] (main) at org.jboss.system.server.profileservice.repository.AbstractProfileService.validateProfile(AbstractProfileService.java:331)
            2009-09-09 15:16:29,586 ERROR [STDERR] (main) at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:272)
            2009-09-09 15:16:29,590 ERROR [STDERR] (main) at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
            2009-09-09 15:16:29,593 ERROR [STDERR] (main) at org.jboss.Main.boot(Main.java:221)
            2009-09-09 15:16:29,595 ERROR [STDERR] (main) at org.jboss.Main$1.run(Main.java:556)
            2009-09-09 15:16:29,597 ERROR [STDERR] (main) at java.lang.Thread.run(Thread.java:619)
            2009-09-09 15:16:29,600 INFO [org.jboss.bootstrap.microcontainer.ServerImpl] (JBoss Shutdown Hook) Runtime shutdown hook called, forceHalt: true
            2009-09-09 15:16:29,605 WARN [org.jboss.system.server.profileservice.ProfileServiceBootstrap] (JBoss Shutdown Hook) Error deactivating profile: ProfileKey@8eed76[domain=default, server=default, name=railo]
            org.jboss.profileservice.spi.NoSuchProfileException: No active profile for: ProfileKey@8eed76[domain=default, server=default, name=railo]
             at org.jboss.system.server.profileservice.repository.AbstractProfileService.deactivateProfile(AbstractProfileService.java:391)
             at org.jboss.system.server.profileservice.ProfileServiceBootstrap.shutdown(ProfileServiceBootstrap.java:327)
             at org.jboss.bootstrap.AbstractServerImpl.shutdownServer(AbstractServerImpl.java:571)
             at org.jboss.bootstrap.AbstractServerImpl$ShutdownHook.run(AbstractServerImpl.java:909)
            2009-09-09 15:16:30,160 WARN [org.jboss.security.plugins.JaasSecurityManagerService] (JBoss Shutdown Hook) Stopping failed jboss.security:service=JaasSecurityManager
            javax.naming.NameNotFoundException: jaas not bound
             at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
             at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
             at org.jnp.server.NamingServer.unbind(NamingServer.java:349)
             at org.jnp.interfaces.NamingContext.unbind(NamingContext.java:871)
             at org.jnp.interfaces.NamingContext.unbind(NamingContext.java:854)
             at javax.naming.InitialContext.unbind(InitialContext.java:416)
             at org.jboss.security.plugins.JaasSecurityManagerService.stopService(JaasSecurityManagerService.java:494)
             at org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:405)
             at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:324)
             at sun.reflect.GeneratedMethodAccessor81.invoke(Unknown Source)
             at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
             at java.lang.reflect.Method.invoke(Method.java:597)
             at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
             at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
             at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
             at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
             at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
             at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:189)
             at $Proxy38.stop(Unknown Source)
             at org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:56)
             at org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:37)
             at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleUninstallAction(SimpleControllerContextAction.java:79)
             at org.jboss.dependency.plugins.action.AccessControllerContextAction.uninstall(AccessControllerContextAction.java:131)
             at org.jboss.dependency.plugins.AbstractControllerContextActions.uninstall(AbstractControllerContextActions.java:58)
             at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
             at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1664)
             at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1275)
             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:827)
             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
             at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
             at org.jboss.system.ServiceController.stop(ServiceController.java:510)
             at org.jboss.system.deployers.ServiceDeployer.stop(ServiceDeployer.java:170)
             at org.jboss.system.deployers.ServiceDeployer.undeploy(ServiceDeployer.java:150)
             at org.jboss.system.deployers.ServiceDeployer.undeploy(ServiceDeployer.java:46)
             at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalUndeploy(AbstractSimpleRealDeployer.java:69)
             at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.undeploy(AbstractRealDeployer.java:112)
             at org.jboss.deployers.plugins.deployers.DeployerWrapper.undeploy(DeployerWrapper.java:196)
             at org.jboss.deployers.plugins.deployers.DeployersImpl.doUndeploy(DeployersImpl.java:1469)
             at org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1376)
             at org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1369)
             at org.jboss.deployers.plugins.deployers.DeployersImpl.uninstall(DeployersImpl.java:1331)
             at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
             at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1664)
             at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1275)
             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:827)
             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
             at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:694)
             at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679)
             at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
             at org.jboss.system.server.profileservice.repository.ProfileDeployAction.uninstall(ProfileDeployAction.java:95)
             at org.jboss.system.server.profileservice.repository.AbstractProfileAction.uninstall(AbstractProfileAction.java:70)
             at org.jboss.system.server.profileservice.repository.AbstractProfileService.uninstall(AbstractProfileService.java:375)
             at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
             at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1664)
             at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1275)
             at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1179)
             at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1234)
             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:827)
             at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
             at org.jboss.system.server.profileservice.repository.AbstractProfileService.deactivateProfile(AbstractProfileService.java:402)
             at org.jboss.system.server.profileservice.ProfileServiceBootstrap.deactivateProfiles(ProfileServiceBootstrap.java:388)
             at org.jboss.system.server.profileservice.ProfileServiceBootstrap.shutdown(ProfileServiceBootstrap.java:345)
             at org.jboss.bootstrap.AbstractServerImpl.shutdownServer(AbstractServerImpl.java:571)
             at org.jboss.bootstrap.AbstractServerImpl$ShutdownHook.run(AbstractServerImpl.java:909)
            2009-09-09 15:16:30,720 INFO [org.jboss.bootstrap.microcontainer.ServerImpl] (JBoss Shutdown Hook) Shutdown complete


            The directory C:\www\railo-deploy\ contains two subdirectories:

            web1.war
            web2.war

            each of these has a WEB-INF which includes a web.xml

            Regards,
            Andrew.

            • 3. RESOLVED - Re: Deploy webapp in external dir (AS 5.1.0)
              am2605

              Just found the answer in another thread.

              In profile.xml

              Rather than

               <value>C:/www/railo-deploy</value>
              


              I need

               <value>file:///C:/www/railo-deploy</value>
              


              All working as expected now.