I'm looking for a reference application that combines FlexSDK with
Java and BlazeDS and uses Maven as the build tool to pull it all
together.

It looks like the Flexmojos reference application (todolist:
http://flexmojos.sonatype.org/reference-application.html) is supposed
to do that, but I'm having trouble running it through a simple jetty
maven command (should I instead drop the war into a running web app
server?).

It appears that the todolist-web project is using the Jetty-maven
plugin so that you should just be able to run:
mvn jetty:run
To start a local instance of the web server that brings together the
BlazeDS Java application and Flex application.

When I run the command I get the following error:
2009-10-05 00:27:36.647::INFO:  jetty-6.1.17
2009-10-05 00:27:36.767::INFO:  No Transaction manager found - if your
webapp requires one, please configure one.
[Deprecated] Xalan: org.apache.xpath.CachedXPathAPI
**** MessageBrokerServlet failed to initialize due to runtime
exception: flex.messaging.config.ConfigurationException: Please
specify a valid 'services.configuration.file' in web.xml.  You
specified '{0}'.  This is not a valid file system path reachable via
the app server and is also not a path to a resource in your J2EE
application archive.
        at flex.messaging.config.LocalFileResolver.getConfigurationFile
(LocalFileResolver.java:76)
        at flex.messaging.config.AbstractConfigurationParser.parse
(AbstractConfigurationParser.java:66)
        at
flex.messaging.config.FlexConfigurationManager.getMessagingConfiguration
(FlexConfigurationManager.java:79)
        at flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:
100)
        at org.mortbay.jetty.servlet.ServletHolder.initServlet
(ServletHolder.java:431)
        at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:
263)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.servlet.ServletHandler.initialize
(ServletHandler.java:676)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
        at org.mortbay.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:1239)
        at org.mortbay.jetty.handler.ContextHandler.doStart
(ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
466)
        at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart
(Jetty6PluginWebAppContext.java:124)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart
(HandlerCollection.java:152)
        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart
(ContextHandlerCollection.java:156)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart
(HandlerCollection.java:152)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerWrapper.doStart
(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:224)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.plugin.Jetty6PluginServer.start
(Jetty6PluginServer.java:132)
        at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty
(AbstractJettyMojo.java:441)
        at org.mortbay.jetty.plugin.AbstractJettyMojo.execute
(AbstractJettyMojo.java:383)
        at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute
(AbstractJettyRunMojo.java:210)
        at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:
184)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo
(DefaultPluginManager.java:451)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals
(DefaultLifecycleExecutor.java:558)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal
(DefaultLifecycleExecutor.java:512)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal
(DefaultLifecycleExecutor.java:482)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java:330)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments
(DefaultLifecycleExecutor.java:291)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute
(DefaultLifecycleExecutor.java:142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
        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.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)

2009-10-05 00:27:37.136:/todolist-web:WARN:  unavailable
javax.servlet.UnavailableException: Please specify a valid
'services.configuration.file' in web.xml.  You specified '{0}'.  This
is not a valid file system path reachable via the app server and is
also not a path to a resource in your J2EE application archive.
        at flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:
163)
        at org.mortbay.jetty.servlet.ServletHolder.initServlet
(ServletHolder.java:431)
        at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:
263)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.servlet.ServletHandler.initialize
(ServletHandler.java:676)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
        at org.mortbay.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:1239)
        at org.mortbay.jetty.handler.ContextHandler.doStart
(ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
466)
        at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart
(Jetty6PluginWebAppContext.java:124)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart
(HandlerCollection.java:152)
        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart
(ContextHandlerCollection.java:156)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart
(HandlerCollection.java:152)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerWrapper.doStart
(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:224)
        at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.plugin.Jetty6PluginServer.start
(Jetty6PluginServer.java:132)
        at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty
(AbstractJettyMojo.java:441)
        at org.mortbay.jetty.plugin.AbstractJettyMojo.execute
(AbstractJettyMojo.java:383)
        at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute
(AbstractJettyRunMojo.java:210)
        at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:
184)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo
(DefaultPluginManager.java:451)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals
(DefaultLifecycleExecutor.java:558)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal
(DefaultLifecycleExecutor.java:512)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal
(DefaultLifecycleExecutor.java:482)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java:330)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments
(DefaultLifecycleExecutor.java:291)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute
(DefaultLifecycleExecutor.java:142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
        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.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)
2009-10-05 00:27:37.160::INFO:  Started
[email protected]:8080
[INFO] Started Jetty Server


I looked at the web.xml and it appears that the MessageBroker servlet
is configured properly:
    <!-- MessageBroker Servlet -->
    <servlet>
        <servlet-name>MessageBrokerServlet</servlet-name>
        <servlet-class>
            flex.messaging.MessageBrokerServlet
        </servlet-class>
        <init-param>
            <param-name>services.configuration.file</param-name>
            <param-value>/WEB-INF/flex/services-config.xml</param-
value>
        </init-param>
        <init-param>
            <param-name>flex.write.path</param-name>
            <param-value>/WEB-INF/flex</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Flex Mojos" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/flex-mojos?hl=en?hl=en

http://blog.flex-mojos.info/
-~----------~----~----~----~------~----~------~--~---

Reply via email to