Maven Jetty插件中的Jetty JNDI错误
我正在尝试配置可以从Maven Jetty插件的调用中使用的JNDI数据源。 我试图在WAR文件外部执行此操作,以便稍后可能使用Jetty部署我们的webapp的任何人都不必编辑WAR的WEB-INF目录中的配置文件。 我创建了一个jetty.xml文件,如下所示:
jdbc/myDataSource .......
然后我在Maven插件中引用了这个文件,如下所示:
org.mortbay.jetty maven-jetty-plugin config/jetty.xml
但是,当我尝试通过mvn jetty运行webapp时:run-war我收到以下错误:
Embedded error: Object is not of type class org.mortbay.jetty.webapp.WebAppContext
如果我省略顶级元素并尝试直接通过以下方式创建新的JNDI资源:
然后我得到一个类似的错误:
Embedded error: Object is not of type class org.mortbay.jetty.plus.naming.Resource
是什么赋予了?
除了Pascal Thivent的答案之外,你的jetty.xml
实际上看起来像jetty-env.xml
,所以你可以配置maven-jetty-plugin与
一起使用:
org.mortbay.jetty maven-jetty-plugin config/jetty.xml
根据文档 , jetty.xml
中声明的命名条目应该是jvm或Server作用域:
如您所见,用于声明每个范围的命名条目的最自然的配置文件是:
- jetty.xml – jvm或服务器范围
- WEB-INF / jetty-env.xml或上下文xml文件 – webapp范围
所以你的jetty.xml
应该包含这样的东西:
jdbc/myDataSource .......