Ahhh - I completely agree with you. All I'm looking for is a boost in
starting my project. I imagine it's going to spin off is a very
different direction once I get into it and there'll be no looking
back. So, please definitely leave Step 4 in your instructions. in
fact, I would abandon the other approach in favor of keeping the
options minimal and therefore providing better support. I don't
believe you need to provide an upgrade path if that isn't what AppFuse
is all about.

I'll stick with the war:inplace approach.

I guess it's a tradeoff between providing functionality that can be -
and is intended to be - customized and a library of utilities that
will speed development. It makes it more confusing when there are  two
approaches described in the wiki. For instance, I was having
ClassNotFoundExceptions last night due to the GenericDaoHibernate
class being instantiated with my project's package path. Again, the
tutorial made no mention of this. I assume it was instantiated as part
of my project so I could customize it if need by, although in this
case, I would have expected that class to be part of an appfuse
library that my project would use rather than customize.

Thanks for your replies. I hope to get familiar enough with AppFuse so
I can contribute soon.

Alex

On Tue, Apr 15, 2008 at 8:19 AM, Matt Raible <[EMAIL PROTECTED]> wrote:
> One of the biggest complaints we had with 1.x was that it was too
>  difficult to upgrade. Here's a wiki page describing the steps:
>
>  http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuseUpgrading
>
>  You basically had to create a new project and then use a diff tool to
>  figure out what changed. With 2.0's embedded mode, we fixed that
>  problem, but it does make it difficult to customize the code. You can
>  use full-source to fix this, but it will make it more difficult to
>  upgrade. Personally, I don't think people should care about upgrading
>  as it's more important to kickstart your project and decouple yourself
>  from AppFuse.
>
>  war:inplace allows you to use embedded mode and get automatic
>  reloading. It's only really necessary if you don't want to customize
>  your project and you want automatic reloading from Jetty.
>
>  Hope this helps,
>
>  Matt
>
>
>
>  On Tue, Apr 15, 2008 at 9:10 AM, Alex Worden <[EMAIL PROTECTED]> wrote:
>  > Hi Matt,
>  >
>  >  I'm open to skipping step 4, but I'd like to understand the philosophy
>  >  behind developing with AppFuse without src code to customize. I'm
>  >  genuinely confused by it all right now and couldn't find any
>  >  explanation from the website. I did read and understand that somehow
>  >  overlaying the AppFuse src enables upgrades - although I'm still
>  >  dubious that and upgrade would have compatability issues with
>  >  customized code.
>  >
>  >  Please would you take a few minutes to explain the concepts behind the
>  >  appfuse architecture?
>  >
>  >  Also, if I don't run war:inplace, how do I develop with mvn jetty:run
>  >  so that I'm able to see changes without re-starting my development
>  >  server?
>  >
>  >  Don't get me wrong... I'm very excited about using AppFuse and getting
>  >  a boost starting development of my webapp :)
>  >
>  >  Thanks,
>  >
>  >  Alex
>  >
>  >
>  >
>  >  On Mon, Apr 14, 2008 at 11:24 PM, Matt Raible <[EMAIL PROTECTED]> wrote:
>  >  > I believe the instructions are fairly straightforward:
>  >  >
>  >  >    1.  Check your new project into source control, unless you have a
>  >  >  good reason not to. Google Code has free Subversion hosting, as do
>  >  >  many others.
>  >  >    2. From the command line, cd into your new project's directory and
>  >  >  run mvn to download JARs, Tomcat and run the integration tests in your
>  >  >  project. Now is a good time to take a coffee break or grab a beer -
>  >  >  downloading everything and running the tests can take 5-10 minutes.
>  >  >    3. To view your application run mvn jetty:run-war from your
>  >  >  project's directory (for a modular project, you'll need to run mvn
>  >  >  jetty:run-war from your project's web directory). Maven will start
>  >  >  Jetty and you should be able to view your application in your browser
>  >  >  at http://localhost:8080.
>  >  >         The default username/password for an admin user is admin/admin.
>  >  >  For a regular user, use user/user.
>  >  >    4. To override files from AppFuse, run mvn war:inplace. This will
>  >  >  extract the dependent WARs into src/main/webapp, where you can change
>  >  >  files to your heart's content. When you have the war expanded in your
>  >  >  source tree, you can run mvn jetty:run. This will allow you to change
>  >  >  files on-the-fly and Jetty will reload them as needed. The only
>  >  >  problem with this approach is you end up with an "exploded AppFuse" in
>  >  >  your project, which won't bode well for upgrading. We recommend you
>  >  >  check your project into source control before running mvn war:inplace.
>  >  >  That way, it'll be easier for you to decide what needs to be checked
>  >  >  in (over written) and what can be deleted.
>  >  >
>  >  >  You can change AppFuse from its "embedded mode" to full-source mode by
>  >  >  running mvn appfuse:full-source from your project's root directory.
>  >  >
>  >  >  Maybe it's better that we simply eliminate Step 4 as a recommendation?
>  >  >  In reality, war:inplace works fine - you just have to be aware that
>  >  >  it's putting JARs/classes into your src tree (under
>  >  >  src/main/webapp/WEB-INF/lib and WEB-INF/classes) and you may need to
>  >  >  delete them.
>  >  >
>  >  >  Matt
>  >  >
>  >  >
>  >  >
>  >  >  On Tue, Apr 15, 2008 at 12:12 AM, Alex Worden <[EMAIL PROTECTED]> 
> wrote:
>  >  >  > Hi,
>  >  >  >
>  >  >  >  I did what Michael suggested and it appeared to work. i tried
>  >  >  >  following the first tutorial to the letter and now I have hordes of
>  >  >  >  build exceptions.
>  >  >  >
>  >  >  >  I'd like to understand why the WEB-INF\classes and WEB-INF\lib
>  >  >  >  directories need to be deleted. If this is the case, then the 
> pom.xml
>  >  >  >  that is supplied with AppFuse should already contain these
>  >  >  >  configuration elements. Shouldn't the config elements that Peter
>  >  >  >  suggested be added to the pom for everyone?
>  >  >  >
>  >  >  >  I'd suggest definitely that you can't ignore this original issue and
>  >  >  >  omit it from your wiki. As is, the wiki is incomplete and the
>  >  >  >  instructions are not usable.
>  >  >  >
>  >  >  >  If the mvn war:inplace is not the recommended way to work with
>  >  >  >  AppFuse, please can you explain better (with diagrams) in the wiki
>  >  >  >  just how a developer is supposed to use AppFuse to develop an
>  >  >  >  application. Some project structure diagrams would really help, 
> along
>  >  >  >  with a general overview of the AppFuse philosophy. I've never seen
>  >  >  >  anything like it, so I'm sorry to say that my first impressions are
>  >  >  >  that it's very confusing.
>  >  >  >
>  >  >  >  I have a ton of other build exceptions now after following the first
>  >  >  >  tutorial. I can send details in a seperate thread if you're
>  >  >  >  interested...
>  >  >  >
>  >  >  >  Alex
>  >  >  >
>  >  >  >
>  >  >  >
>  >  >  >  On Mon, Apr 14, 2008 at 12:49 PM, Matt Raible <[EMAIL PROTECTED]> 
> wrote:
>  >  >  >  > If you're going to use war:inplace, it's probably a good idea to 
> add
>  >  >  >  >  these settings to your pom.xml. You might want to add it as a 
> note
>  >  >  >  >  after the first reference to war:inplace. I believe we've 
> notified
>  >  >  >  >  folks that they need to do this during upgrades, but not during
>  >  >  >  >  regular development. I don't know if we should add it - I'd like 
> to
>  >  >  >  >  hear what other folks think.
>  >  >  >  >
>  >  >  >  >  Matt
>  >  >  >  >
>  >  >  >  >
>  >  >  >  >
>  >  >  >  >  On Mon, Apr 14, 2008 at 1:00 PM, Alex Worden <[EMAIL PROTECTED]> 
> wrote:
>  >  >  >  >  > Thank you so much for your input. I'll try your suggestions 
> tonight.
>  >  >  >  >  >  Should we / I update the Getting Started Wiki? I don't feel 
> too
>  >  >  >  >  >  comfortable doing that given that I have very little 
> experience with
>  >  >  >  >  >  AppFuse thus far...
>  >  >  >  >  >
>  >  >  >  >  >  Alex
>  >  >  >  >  >
>  >  >  >  >  >
>  >  >  >  >  >
>  >  >  >  >  >  On Mon, Apr 14, 2008 at 1:36 AM, Peter Schneider-Manzell
>  >  >  >  >  >  <[EMAIL PROTECTED]> wrote:
>  >  >  >  >  >  > Hi!
>  >  >  >  >  >  >
>  >  >  >  >  >  > I've extended my pom.xml with the following part:
>  >  >  >  >  >  >
>  >  >  >  >  >  > <build>
>  >  >  >  >  >  > ...
>  >  >  >  >  >  > <plugins>
>  >  >  >  >  >  > ....
>  >  >  >  >  >  > <plugin>
>  >  >  >  >  >  >               <artifactId>maven-clean-plugin</artifactId>
>  >  >  >  >  >  >               <configuration>
>  >  >  >  >  >  >                <filesets>
>  >  >  >  >  >  >                 <fileset>
>  >  >  >  >  >  >                   
> <directory>src/main/webapp/WEB-INF</directory>
>  >  >  >  >  >  >                   <includes>
>  >  >  >  >  >  >                     <include>lib</include>
>  >  >  >  >  >  >                      <include>classes</include>
>  >  >  >  >  >  >                   </includes>
>  >  >  >  >  >  >                   <followSymlinks>false</followSymlinks>
>  >  >  >  >  >  >                 </fileset>
>  >  >  >  >  >  >               </filesets>
>  >  >  >  >  >  >              </configuration>
>  >  >  >  >  >  >             </plugin>
>  >  >  >  >  >  >
>  >  >  >  >  >  > So everytime I run "mvn clean", the 2 folders WEB-IF/lib 
> and WEB-IF/classes
>  >  >  >  >  >  > are also removed.
>  >  >  >  >  >  >
>  >  >  >  >  >  > Bye,
>  >  >  >  >  >  >
>  >  >  >  >  >  >
>  >  >  >  >  >  > Peter
>  >  >  >  >  >  >
>  >  >  >  >  >  > 2008/4/14, Michael Horwitz <[EMAIL PROTECTED]>:
>  >  >  >  >  >  >
>  >  >  >  >  >  > > After running the mvn:war-inplace command, you must 
> delete the
>  >  >  >  >  >  > src/main/webapp/WEB-INF/classes and 
> src/main/webapp/WEB-INF/lib directories
>  >  >  >  >  >  > from your web module. Then run mvn clean install from the 
> top level,
>  >  >  >  >  >  > followed by mvn jetty:run-war in your web module and all 
> should run just
>  >  >  >  >  >  > fine.
>  >  >  >  >  >  > >
>  >  >  >  >  >  > > Mike
>  >  >  >  >  >  > >
>  >  >  >  >  >  > >
>  >  >  >  >  >  > >
>  >  >  >  >  >  > > On 14/04/2008, Alex Worden <[EMAIL PROTECTED]> wrote:
>  >  >  >  >  >  > > > Hi,
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > > I'm trying to get up and running with AppFuse for the 
> first time. I've
>  >  >  >  >  >  > > > followed the directions described at:
>  >  >  >  >  >  > > > http://appfuse.org/display/APF/AppFuse+QuickStart and 
> can get the
>  >  >  >  >  >  > > > application running from the war. I used the
>  >  >  >  >  >  > > > archetypeArtifactId=appfuse-modular-struts.
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > > However I can't imagine understanding it all without 
> the src code so I
>  >  >  >  >  >  > > > followed the instructions under "Run your application" 
> step 4. These
>  >  >  >  >  >  > > > unfortunately don't tell you which directory to run the 
> mvn commands
>  >  >  >  >  >  > > > from. (I created a modular project.) I've tried running 
> them from the
>  >  >  >  >  >  > > > top level and the 'web' directory without success. When 
> running from
>  >  >  >  >  >  > > > the web directory I ran mvn war:inplace OK, followed by 
> mvn jetty:run
>  >  >  >  >  >  > > > and got the following errors....
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > > 2008-04-13 22:14:58.053::WARN:  failed struts
>  >  >  >  >  >  > > > Unable to load bean: type: 
> class:com.opensymphony.xwork2.ObjectFactory
>  >  >  >  >  >  > > > - bean -
>  >  >  >  >  >  > 
> jar:file:/Users/alex/work/maven_repo/org/apache/struts/struts2-core/2.0.11/struts2-core-2.0.11.jar!/struts-default.xml:30:72
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1216)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:509)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:447)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>  >  >  >  >  >  > > >         at 
> org.mortbay.jetty.Server.doStart(Server.java:222)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:337)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:279)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:182)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
>  >  >  >  >  >  > > >         at 
> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
>  >  >  >  >  >  > > >         at 
> org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
>  >  >  >  >  >  > > >         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:585)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>  >  >  >  >  >  > > >         at 
> org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>  >  >  >  >  >  > > >         at 
> org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>  >  >  >  >  >  > > > Caused by: Bean type class 
> com.opensymphony.xwork2.ObjectFactory with
>  >  >  >  >  >  > > > the name xwork has already been loaded by bean -
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > 
> jar:file:/Users/alex/work/myvoxpop/web/src/main/webapp/WEB-INF/lib/struts2-core-2.0.11.jar!/struts-default.xml:30:72
>  >  >  >  >  >  > > > - bean -
>  >  >  >  >  >  > 
> jar:file:/Users/alex/work/maven_repo/org/apache/struts/struts2-core/2.0.11/struts2-core-2.0.11.jar!/struts-default.xml:30:72
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:193)
>  >  >  >  >  >  > > >         ... 46 more
>  >  >  >  >  >  > > > 2008-04-13 22:14:58.055::WARN:  Failed startup of 
> context
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > [EMAIL 
> PROTECTED]/,/Users/alex/work/myvoxpop/web/src/main/webapp}
>  >  >  >  >  >  > > > Unable to load bean: type: 
> class:com.opensymphony.xwork2.ObjectFactory
>  >  >  >  >  >  > > > - bean -
>  >  >  >  >  >  > 
> jar:file:/Users/alex/work/maven_repo/org/apache/struts/struts2-core/2.0.11/struts2-core-2.0.11.jar!/struts-default.xml:30:72
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1216)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:509)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:447)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>  >  >  >  >  >  > > >         at 
> org.mortbay.jetty.Server.doStart(Server.java:222)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:337)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:279)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:182)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
>  >  >  >  >  >  > > >         at 
> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
>  >  >  >  >  >  > > >         at 
> org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
>  >  >  >  >  >  > > >         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:585)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>  >  >  >  >  >  > > >         at 
> org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>  >  >  >  >  >  > > >         at 
> org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>  >  >  >  >  >  > > > Caused by: Bean type class 
> com.opensymphony.xwork2.ObjectFactory with
>  >  >  >  >  >  > > > the name xwork has already been loaded by bean -
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > 
> jar:file:/Users/alex/work/myvoxpop/web/src/main/webapp/WEB-INF/lib/struts2-core-2.0.11.jar!/struts-default.xml:30:72
>  >  >  >  >  >  > > > - bean -
>  >  >  >  >  >  > 
> jar:file:/Users/alex/work/maven_repo/org/apache/struts/struts2-core/2.0.11/struts2-core-2.0.11.jar!/struts-default.xml:30:72
>  >  >  >  >  >  > > >         at
>  >  >  >  >  >  > 
> com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:193)
>  >  >  >  >  >  > > >         ... 46 more
>  >  >  >  >  >  > > > 2008-04-13 22:14:59.083::INFO:  Started
>  >  >  >  >  >  > [EMAIL PROTECTED]:8080
>  >  >  >  >  >  > > > [INFO] Started Jetty Server
>  >  >  >  >  >  > > > [INFO] Starting scanner at interval of 3 seconds.
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > > When I attempt to access the webapp, I get a 503 error.
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > > Any help would be much appreciated! Oh - I'm running 
> this on OSX 10.5
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > > Thanks,
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > > Alex
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > > 
> ---------------------------------------------------------------------
>  >  >  >  >  >  > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
>  >  >  >  >  >  > > > For additional commands, e-mail: [EMAIL PROTECTED]
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > > >
>  >  >  >  >  >  > >
>  >  >  >  >  >  > >
>  >  >  >  >  >  >
>  >  >  >  >  >  >
>  >  >  >  >  >
>  >  >  >  >  >  
> ---------------------------------------------------------------------
>  >  >  >  >  >  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  >  >  >  >  >  For additional commands, e-mail: [EMAIL PROTECTED]
>  >  >  >  >  >
>  >  >  >  >  >
>  >  >  >  >
>  >  >  >  >  
> ---------------------------------------------------------------------
>  >  >  >  >  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  >  >  >  >  For additional commands, e-mail: [EMAIL PROTECTED]
>  >  >  >  >
>  >  >  >  >
>  >  >  >
>  >  >  >  
> ---------------------------------------------------------------------
>  >  >  >  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  >  >  >  For additional commands, e-mail: [EMAIL PROTECTED]
>  >  >  >
>  >  >  >
>  >  >
>  >  >  ---------------------------------------------------------------------
>  >  >  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  >  >  For additional commands, e-mail: [EMAIL PROTECTED]
>  >  >
>  >  >
>  >
>  >  ---------------------------------------------------------------------
>  >  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  >  For additional commands, e-mail: [EMAIL PROTECTED]
>  >
>  >
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to