【问题标题】:Eclipse doesn't copy context correctlyEclipse 没有正确复制上下文
【发布时间】:2012-11-06 07:44:13
【问题描述】:

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 ... > tmp0 > conf),Eclipse 省略 Resource 完全引用。部署的 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 我的资源引用?

【问题讨论】:

  • Eclipse 没有发布它,您正在使用 Eclipse 发布它。我无法从中推断出你实际上做了什么。

标签: java eclipse jakarta-ee deployment tomcat6


【解决方案1】:

您应该将 DataSource 条目放在 Context.xml 而不是 Server.xml

不建议在6.0 以上版本的 server.xml 中使用&lt;Context&gt;&lt;/context&gt;

更新:解决Sever.xml不复制

参考此报价Source

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

既然你对 Tomcat 的配置足够了解,那么还有一个 有帮助的东西。在首选项 > 服务器下,选中复选框 在工作区中创建资源。然后删除现有的 Tomcat 服务器并创建另一个。这将创建所有 工作空间内而不是 .metadata 目录中的资源, 这样您就可以在工作区中与其他文件一起编辑它们。

【讨论】:

  • 感谢 Mukul 的富有洞察力的回答。我将 ref 条目添加到 Context.xml 中,它完美地工作。不过想知道,为什么 Tomcat 服务器配置允许使用上下文定义就地定义 jdbc ref?
  • @refactor.me 如果我正确解释了您的问题。我想你的意思是问为什么允许在 server.xml 中定义 resources ?请澄清
  • @refactor.me : context.xml 是用Tomcat 5.x 引入的(据我所知),在此之前没有context.xml,所以我们使用了&lt;context&gt;&lt;/context&gt;。现在随着context.xml 的引入,建议使用context.xml 来配置上下文,但为了保持向后兼容性,&lt;context&gt;&lt;/context&gt; 的使用还没有过时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
相关资源
最近更新 更多