对jetty-env.xml感到困惑

时间:2010-10-12 20:43:25

标签: java xml maven-2 configuration jetty

我有一个使用JNDI定位数据源和事务管理器的webapp。我从Jetty文档中看到如何通过jetty-env.xml文件执行此操作。但是它提到应该将此文件放入WEB-INF目录中。

为什么他们会建议在我的WAR内部的配置文件中配置JNDI资源?这没有任何意义......我一直认为JNDI是一种外部化配置的方式。还有另一个地方我可以把这个文件放在Jetty服务器上吗?

后续问题:在我的Maven WAR模块中怎么样...我应该如何处理这个文件以便我可以使用Maven jetty插件进行开发,但是文件最终没有在WAR中?

2 个答案:

答案 0 :(得分:4)

  

我可以将另一个地方放在Jetty服务器上吗?

官方JNDI页面的内容如下:

  

有3个地方可以   定义命名条目:

     
      
  1. 的jetty.xml
  2.   
  3. WEB-INF /码头-env.xml
  4.   
  5. context xml file
  6.         

    在a中定义的命名条目   jetty.xml文件通常是   限制在jvm级别或   服务器级别。命名条目   jetty-env.xml文件通常是   范围限定在webapp中的文件   居住,虽然你能够   如果您输入jvm或Server范围   希望,这不是真的推荐。   在大多数情况下,您将定义所有   命名要显示的条目   到特定的服务器实例,或   jetty.xml中的jvm整体   文件。上下文xml文件中的条目   通常将在该级别范围内   它适用的webapp,   虽然再一次,你可以提供一个   不太严格的服务器或   jvm如果你想要的话。

使用jetty.xml配置“在webapp之外”的内容。

  

后续问题:在我的Maven WAR模块中怎么样...我应该如何处理这个文件以便我可以使用Maven jetty插件进行开发,但是文件最终没有在WAR中?

使用Maven Jetty Plugin

的jettyConfig参数
  

jettyConfig 可选。除了任何插件配置参数之外还将应用的jetty.xml文件的位置。如果您要部署其他Web应用程序,处理程序等,或者您有其他无法从插件配置的jetty对象,则可以使用它。

答案 1 :(得分:3)

jetty-env.xml只是设置JNDI参数的附加选项。要在WAR之外设置JNDI参数,可以将它们放在jetty.xml中。

在此处查看related postJetty docs for JNDI