Your XML is not correct. Seems you are missing the Arg around the New.
Should read like:
...
<Arg>
<New class="com.zaxxer.hikari.HikariDataSource">
....
</New>
</Arg>
...
Check
http://www.eclipse.org/jetty/documentation/9.4.x/jndi-datasource-examples.html
for examples.
On Thu, Aug 4, 2016 at 12:56 PM, Paul Römer <[email protected]> wrote:
> Hi,
>
> I try to set up my databases via JNDI for our development environment
> which emulates the productive configuration. I decided to configure the
> embedded Jetty server that is used by the Maven Jetty plugin.
> As I we have 3 webapps I would like to configure the datasources in the
> server context. So I added a custom jetty.xml which I reference in Mavens
> plugin configuration:
>
> <plugin>
> <groupId>org.eclipse.jetty</groupId>
> <artifactId>jetty-maven-plugin</artifactId>
> <version>9.3.11.v20160721</version>
> <configuration>
> <jettyXml>${basedir}/src/main/
> etc/jetty.xml</jettyXml>
>
> Well, for easy stuff it works like expected and Jetty starts:
>
> <?xml version="1.0"?>
> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "
> http://www.eclipse.org/jetty/configure.dtd">
>
> <Configure id="Server" class="org.eclipse.jetty.server.Server">
> <Set name="stopTimeout">5000</Set>
> </Configure>
>
> But if I add some more serious stuff it fails:
>
> <?xml version="1.0"?>
> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "
> http://www.eclipse.org/jetty/configure.dtd">
>
> <Configure id="Server" class="org.eclipse.jetty.server.Server">
> <Set name="stopTimeout">5000</Set>
> <New id="myds" class="org.eclipse.jetty.plus.jndi.Resource">
> <Arg></Arg>
> <Arg>jdbc/myds</Arg>
> <New class="com.zaxxer.hikari.HikariDataSource">
> <Arg>
> <New class="com.zaxxer.hikari.
> HikariConfig">
> <Set name="minimumPoolSize">5</Set>
> <Set name="maximumPoolSize">20</
> Set>
> <Set name="dataSourceClassName">
> com.mysql.jdbc.jdbc2.optional.MysqlDataSource</Set>
> <Set name="username">root</Set>
> <Set name="password">test</Set>
> <Call name="addDataSourceProperty">
> <Arg>url</Arg>
>
> <Arg>jdbc:mysql://localhost:3306/lportal</Arg>
> </Call>
> </New>
> </Arg>
> </New>
> </New>
> </Configure>
>
>
> Of course I added the mysql-connector and HikariCP as plugin dependencies:
>
> <plugin>
> <groupId>org.eclipse.jetty</groupId>
> <artifactId>jetty-maven-plugin</artifactId>
> <version>9.3.11.v20160721</version>
> <dependencies>
> <dependency>
> <groupId>com.zaxxer</groupId>
> <artifactId>HikariCP</artifactId>
> <version>2.4.6</version>
> </dependency>
> <dependency>
> <groupId>mysql</groupId>
> <artifactId>mysql-connector-java</artifactId>
> <version>5.1.36</version>
> </dependency>
> <dependency>
> <groupId>org.eclipse.jetty</groupId>
> <artifactId>jetty-plus</artifactId>
> <version>9.3.11.v20160721</version>
> </dependency>
> <dependency>
> <groupId>org.eclipse.jetty</groupId>
> <artifactId>jetty-jndi</artifactId>
> <version>9.3.11.v20160721</version>
> </dependency>
> </dependencies>
>
> But I still get:
>
> [INFO] --- jetty-maven-plugin:9.3.11.v20160721:run (default-cli) @
> webpage-frontend ---
> [INFO] Logging initialized @6888ms
> [INFO] Configuring Jetty for project: Webpage frontend
> [INFO] webAppSourceDirectory not set. Trying src/main/webapp
> [INFO] Reload Mechanic: automatic
> [INFO] Classes = /home/vaadin/repos/webpage/webpage-frontend/target/
> classes
> [INFO] Configuring Jetty from xml configuration file =
> /home/vaadin/repos/webpage/webpage-frontend/src/main/etc/jetty.xml
> [WARNING] Config error at <New id="myds" class="org.eclipse.jetty.plus.
> jndi.Resource"><Arg/><Arg>jdbc/myds</Arg><New class="com.zaxxer.hikari.
> HikariDataSource"><Arg>
> <New
> class="com.zaxxer.hikari.HikariConfig"><Set
> name="minimumPoolSize">5</Set><Set name="maximumPoolSize">20</Set><Set
> name="dataSourceClassName">com.mysql.jdbc.jdbc2.optional.MysqlDataSource</Set><Set
> name="username">root</Set><Set name="password">test</Set><Call
> name="addDataSourceProperty"><Arg>url</Arg><Arg>jdbc:mysql:/
> /localhost:3306/lportal</Arg></Call></New>
> </Arg></New></New>
> [INFO] Jetty server exiting.
> [INFO] ------------------------------------------------------------
> ------------
> [INFO] BUILD FAILURE
> [INFO] ------------------------------------------------------------
> ------------
> [INFO] Total time: 5.890 s
> [INFO] Finished at: 2016-08-04T12:54:51+02:00
> [INFO] Final Memory: 23M/263M
> [INFO] ------------------------------------------------------------
> ------------
> [ERROR] Failed to execute goal
> org.eclipse.jetty:jetty-maven-plugin:9.3.11.v20160721:run
> (default-cli) on project webpage-frontend: Failure:
> InvocationTargetException: NullPointerException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
> goal org.eclipse.jetty:jetty-maven-plugin:9.3.11.v20160721:run
> (default-cli) on project webpage-frontend: Failure
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(
> MojoExecutor.java:212)
> 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:116)
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.
> buildProject(LifecycleModuleBuilder.java:80)
> at org.apache.maven.lifecycle.internal.builder.singlethreaded.
> SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.
> execute(LifecycleStarter.java:128)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> 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: org.apache.maven.plugin.MojoExecutionException: Failure
> at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.
> startJetty(AbstractJettyMojo.java:488)
> at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.
> execute(AbstractJettyMojo.java:328)
> at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(
> JettyRunMojo.java:170)
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(
> DefaultBuildPluginManager.java:134)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(
> MojoExecutor.java:207)
> ... 20 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(
> NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
> DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at org.eclipse.jetty.util.TypeUtil.construct(TypeUtil.java:580)
> at org.eclipse.jetty.xml.XmlConfiguration$
> JettyXmlConfiguration.newObj(XmlConfiguration.java:787)
> at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.
> configure(XmlConfiguration.java:423)
> at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.
> configure(XmlConfiguration.java:358)
> at org.eclipse.jetty.xml.XmlConfiguration.configure(
> XmlConfiguration.java:259)
> at org.eclipse.jetty.maven.plugin.ServerSupport.
> applyXmlConfigurations(ServerSupport.java:211)
> at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.applyJettyXml(
> AbstractJettyMojo.java:404)
> at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.
> startJetty(AbstractJettyMojo.java:427)
> ... 24 more
> Caused by: java.lang.NullPointerException
> at org.eclipse.jetty.plus.jndi.NamingEntry.save(NamingEntry.
> java:191)
> at org.eclipse.jetty.plus.jndi.Resource.<init>(Resource.java:39)
> ... 36 more
> [ERROR]
> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
> [ERROR]
> [ERROR] For more information about the errors and possible solutions,
> please read the following articles:
> [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/
> MojoExecutionException
>
> Any ideas?
>
> Cheers,
> Paul
> _______________________________________________
> jetty-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users