Thanks Michael. This is very handy. I downloaded cbe and was able to get it running talking to a mysql database by changing the jndi config. Now I am trying to retrofit config to my app and I get the following error when I do mvn jetty:run. I have all the same dependencies and plugins (plus a few more) although some of my versions are more recent.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tims App 0.0.8
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> jetty-maven-plugin:7.5.1.v20110908:run (default-cli) @ tims-app >>>
[INFO]
[INFO] --- maven-cayenne-plugin:3.2M1:cgen (default-cli) @ tims-app ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tims-app
---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e.
build is platform dependent!
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] Copying 33 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ tims-app ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @
tims-app ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
/Users/tim/github/tims-app/tims-app/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @
tims-app ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] <<< jetty-maven-plugin:7.5.1.v20110908:run (default-cli) @ tims-app <<<
[INFO]
[INFO] --- jetty-maven-plugin:7.5.1.v20110908:run (default-cli) @ tims-app ---
[INFO] Configuring Jetty for project: Tramanco Vehicle Weigh
[INFO] Webapp source directory =
/Users/tim/github/tims-app/tims-app/src/main/webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes =
/Users/tim/github/tims-app/tims-app/target/tims-app/WEB-INF/classes
[INFO] Added extra scan
target:/Users/tim/github/tims-app/tims-app/src/main/resources
[INFO] Context path = /tims-app
[INFO] Tmp directory = /Users/tim/github/tims-app/tims-app/target/tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] web.xml file =
file:/Users/tim/github/tims-app/tims-app/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = /Users/tim/github/tims-app//src/main/webapp
[INFO] Starting jetty 7.5.1.v20110908 ...
2014-04-26 08:28:40.142:INFO:oejs.Server:jetty-7.5.1.v20110908
2014-04-26 08:28:41.030:INFO:oejpw.PlusConfiguration:No Transaction manager
found - if your webapp requires one, please configure one.
2014-04-26 08:28:41.068:WARN:oejw.WebAppContext:Failed startup of context
o.m.j.p.JettyWebAppContext{/tims-app,file:/Users/tim/github/tims-app/tims-app/src/main/webapp/},file:/Users/tim/github/tims-app/tims-app/src/main/webapp/
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:80)
at
org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:67)
at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:321)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1211)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:589)
at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
at
org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:219)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at
org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at
org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:89)
at org.eclipse.jetty.server.Server.doStart(Server.java:261)
at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:67)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:333)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:273)
at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:548)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by:
java.lang.ClassNotFoundException: javax.sql.Datasource
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:415)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:377)
at
org.eclipse.jetty.server.handler.ContextHandler.loadClass(ContextHandler.java:1323)
at
org.eclipse.jetty.plus.webapp.PlusDescriptorProcessor.visitResourceRef(PlusDescriptorProcessor.java:245)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:80)
at
org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:67)
at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:321)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1211)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:589)
at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454)
at
org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:219)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at
org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at
org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:89)
at org.eclipse.jetty.server.Server.doStart(Server.java:261)
at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:67)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:333)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:273)
at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:548)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
2014-04-26 08:28:41.087:INFO:oejs.AbstractConnector:Started
[email protected]:8088 STARTING
[INFO] Started Jetty Server
On 25 Apr 2014, at 23:43, Michael Gentry <[email protected]> wrote:
> Here is a pom.xml which includes the Jetty plugin:
>
> https://github.com/mrg/cbe/blob/master/WebApplications/pom.xml
>
> And a jetty-env.xml which defines the JNDI lookup:
>
> https://github.com/mrg/cbe/blob/master/WebApplications/src/main/webapp/WEB-INF/jetty-env.xml
>
>
> mrg
>
>
>
> On Fri, Apr 25, 2014 at 9:40 AM, Michael Gentry <[email protected]>wrote:
>
>> Hi Tim,
>>
>> RunJettyRun uses plain Jetty and not Jetty+ (which includes the JNDI
>> extension). What I do in my development is use the Jetty Maven plugin and
>> then just use Maven to run Jetty. Has worked pretty well so far for me.
>>
>>
>> On Thu, Apr 24, 2014 at 9:38 PM, D Tim Cummings <[email protected]>wrote:
>>
>>> Hi
>>>
>>> I am using cayenne in a tapestry project and my final deployment will be
>>> in Tomcat 7 using JNDI for defining the data source. I am developing in
>>> Eclipse 4.3.1 and would like my development environment to be as close to
>>> deployment as possible. What is the recommended way of using JNDI in
>>> development.
>>>
>>> I have tried the instructions on
>>>
>>> http://tynamo.org/Developing+with+Tomcat+and+Eclipse
>>>
>>> using sysdeo tomcat plugin for eclipse. I haven't been able to get it to
>>> read the jndi information.
>>>
>>> Apr 25, 2014 11:25:40 AM org.apache.catalina.deploy.NamingResources
>>> addResource
>>> WARNING: Failed to create MBean for naming resource [null]
>>>
>>> I have tried using RunJettyRun but get.
>>>
>>> Exception happened when loading Jetty.xml:
>>> java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jndi.Resource
>>>
>>>
>>> RunJettyRun works great when I configure cayenne-project.xml to
>>> XMLPoolingDataSourceFactory but I don't want to have to keep switching
>>> between this and JNDI when ready to deploy. I would also prefer to use
>>> tomcat in dev so it is same as prod.
>>>
>>> JNDI works great when I build a war file and deploy to tomcat but that
>>> would slow my development if I had to do that every time.
>>>
>>> I don't necessarily have to solve these problems if you can recommend an
>>> alternative way of keeping database config separate to the war. The war
>>> will be deployed by unskilled users on Windows and skilled users on Linux
>>> and Mac so I am trying to keep the steps to deploy simple and not hard code
>>> absolute paths of properties files into my app.
>>>
>>> Thanks
>>>
>>> Tim
>>>
>>
>>
signature.asc
Description: Message signed with OpenPGP using GPGMail
