Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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 8-如何从Jetty-env.xml配置JNDI信息_Java_Jetty - Fatal编程技术网

Java Jetty 8-如何从Jetty-env.xml配置JNDI信息

Java Jetty 8-如何从Jetty-env.xml配置JNDI信息,java,jetty,Java,Jetty,我有一个Jetty 8.1.16的webapp,它使用JNDI读取数据库连接信息。该应用程序是用maven构建的,可以使用maven jetty插件在开发机器上成功运行 但是,在部署到远程服务器时,jetty无法找到JDNI数据源: SEVERE: [application] DataSource JNDI name not found. javax.naming.NameNotFoundException; remaining name 'env/jdbc/Foo' 尝试以编程方式获取it时

我有一个Jetty 8.1.16的webapp,它使用JNDI读取数据库连接信息。该应用程序是用maven构建的,可以使用maven jetty插件在开发机器上成功运行

但是,在部署到远程服务器时,jetty无法找到JDNI数据源:

SEVERE: [application] DataSource JNDI name not found.
javax.naming.NameNotFoundException; remaining name 'env/jdbc/Foo'
尝试以编程方式获取it时:

DataSource datasource = (DataSource)ctx.lookup( "java:comp/env/jdbc/" + datasourceName);
使用jetty-env.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<Configure id='wac' class="org.eclipse.jetty.webapp.WebAppContext">
  <New id="Foo" class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg></Arg>
    <Arg>jdbc/Foo</Arg>
    <Arg>
      <New class="com.microsoft.sqlserver.jdbc.SQLServerXADataSource">
        <Set name="URL">Connection String</Set>
      </New>
    </Arg>
  </New>
</Configure>
我在这一点上完全失败了


将JETTY加到选项中是不起作用的。

,考虑升级。JoakimrdDrd:我意识到,但是这个项目不是在我们愿意做的状态下,考虑升级。JoakimrdDrd:我知道,但是这个项目不是我们愿意这样做的状态。
<resource-ref>
    <description>Foo DataSource Reference</description>
    <res-ref-name>jdbc/Foo</res-ref-name>
    <res-type>javax.sql.XADataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>
Options=Server,jsp,jmx,resource,websocket,ext,plus,annotations

etc/jetty.xml
etc/jetty-deploy.xml
etc/jetty-webapps.xml
etc/jetty-contexts.xml
etc/jetty-testrealm.xml
etc/jetty-plus.xml
etc/jetty-annotations.xml