Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对jetty-env.xml感到困惑_Java_Xml_Maven 2_Configuration_Jetty - Fatal编程技术网

Java 对jetty-env.xml感到困惑

Java 对jetty-env.xml感到困惑,java,xml,maven-2,configuration,jetty,Java,Xml,Maven 2,Configuration,Jetty,我有一个webapp,它使用JNDI定位数据源和事务管理器。我从Jetty文档中了解了如何通过Jetty-env.xml文件实现这一点。但是它提到这个文件应该放在WEB-INF目录中 为什么他们会建议在我的WAR中的配置文件中配置JNDI资源?这毫无意义……我一直认为JNDI是一种外部化配置的方法。有没有其他地方我可以把这个文件放到Jetty服务器上 接下来的一个问题是:在我的Maven WAR模块中……我应该如何处理这个文件,这样我就可以使用Maven jetty插件进行开发,但不会让这个文件

我有一个webapp,它使用JNDI定位数据源和事务管理器。我从Jetty文档中了解了如何通过Jetty-env.xml文件实现这一点。但是它提到这个文件应该放在WEB-INF目录中

为什么他们会建议在我的WAR中的配置文件中配置JNDI资源?这毫无意义……我一直认为JNDI是一种外部化配置的方法。有没有其他地方我可以把这个文件放到Jetty服务器上

接下来的一个问题是:在我的Maven WAR模块中……我应该如何处理这个文件,这样我就可以使用Maven jetty插件进行开发,但不会让这个文件在战争中结束

有没有其他地方我可以把这个文件放到Jetty服务器上

官方页面是这样写的:

你可以在三个地方 定义命名条目:

  • jetty.xml
  • WEB-INF/jetty-env.xml
  • 上下文xml文件
  • 在中定义的命名项
    jetty.xml
    文件通常是 在jvm级别或 服务器级别。在数据库中命名条目
    jetty env.xml
    文件通常是 作用域为文件所在的webapp 尽管您能够 如果需要,请输入jvm或服务器范围 希望,这不是真正的建议。 在大多数情况下,您将定义所有 命名要显示的条目 到特定服务器实例,或到 jvm作为一个整体存在于
    jetty.xml
    文件上下文xml文件中的条目 通常将在以下级别确定范围: 适用于的Web应用程序的, 虽然再一次,您可以提供 服务器或服务器的范围级别不太严格 如果你愿意的话

    使用
    jetty.xml
    配置webapp“外部”的内容

    接下来的一个问题是:在我的Maven WAR模块中……我应该如何处理这个文件,这样我就可以使用Maven jetty插件进行开发,但不会让这个文件在战争中结束

    使用的jettyConfig参数:

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


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


    请参阅a here和。

    我接受这一答案,但Jetty文档()似乎表明Jetty.xml用于配置服务器,而不是特定的web应用程序。实际上,它要求多个XML文件中的配置必须使用相同的服务器ID(这里的示例)。但是我应该使用什么服务器ID才能在Maven上下文中正常工作呢?我想我知道我不需要将新的JNDI资源放在服务器的“Configure”元素中,但无论如何我都很难使用它。我创建了一个新问题:@HDave
    Jetty文档(…)似乎表明Jetty.xml用于配置服务器
    是的,这是正确的。@Pascal--总之,Jetty.xml文件用于配置服务器,Jetty-env.xml用于配置web应用。事实上,jetty-env.xml可以放在任何地方,对于Maven来说,只需通过
    JettyEnvXML
    configuration属性引用即可。@HDave
    因此,总结一下,jetty.xml文件用于配置服务器,jetty-env.xml用于配置web应用程序。我认为这是一个很好的总结
    事实上,jetty-env.xml可以在任何地方使用,对于Maven来说,只需通过JettyEnvXML配置属性引用即可
    不使用Maven时,它可以在任何地方使用吗?