Eclipse不能正确复制上下文

时间:2012-11-06 07:44:14

标签: java eclipse java-ee deployment tomcat6

Eclipse版本:(Java EE):3.7 Indigo,32位
Tomcat版本: 6.0
操作系统:Windows 7 64位SP1

问题:我在Eclipse中创建了一个动态的web-app xyz。在正确集成Eclipse和Tomcat之后,我将xyz添加到本地服务器实例,并在server.xml(在Eclipse服务器项目中)编辑了xyz的上下文条目以包含jdbc资源引用。

server.xml (in Eclipse. Username, pwd, ip etc. below are altered)

<Context docBase="xyz" path="/xyz" reloadable="true" source="org.eclipse.jst.j2ee.server:xyz">
      <Resource auth="Container" 
                driverClassName="oracle.jdbc.driver.OracleDriver" 
                factory="org.apache.commons.dbcp.BasicDataSourceFactory"
                maxActive="100"
                maxIdle="30"
                name="jdbc/xyz"
                username="123"
                password="123"
                type="javax.sql.DataSource"
                url="jdbc:oracle:thin:@1.1.1.1:sid" />
</Context>

但是,当Eclipse 将此server.xml文件发布到热部署文件夹时 (在Windows中,位于.metadata ...&gt; tmp0&gt; conf),Eclipse 完全省略资源。部署的server.xml文件如下所示:

<Context
    docBase="C:\ws\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\xyz"
    path="/xyz"
    reloadable="true"
    source="org.eclipse.jst.j2ee.server:xyz" />

为什么会这样? (有修复吗?)。换句话说,如何让Eclipse部署server.xml文件 WITH 我的资源引用?

1 个答案:

答案 0 :(得分:0)

您应该将数据源条目放在Context.xml而不是Server.xml

建议不要在版本<Context></context>之后的server.xml中使用6.0

更新:解析 Sever.xml 不复制

参考此引用Source

  

您无需编辑临时目录中的副本。这将是   下次你从主副本(目前在配置中)更新   发布。

     

由于您对Tomcat配置了解得足够多,所以还有另一个   有用的东西。在首选项&gt;下在服务器上,选中复选框   在工作区中创建资源。然后删除现有的   Tomcat服务器并创建另一个。这将创造所有   工作区内的资源而不是.metadata目录中的资源,   因此,您可以将它们与工作区中的其他文件一起编辑。