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 我的资源引用?
答案 0 :(得分:0)
您应该将数据源条目放在Context.xml
而不是Server.xml
建议不要在版本<Context></context>
之后的server.xml中使用6.0
。
更新:解析 Sever.xml 不复制
参考此引用Source
您无需编辑临时目录中的副本。这将是 下次你从主副本(目前在配置中)更新 发布。
由于您对Tomcat配置了解得足够多,所以还有另一个 有用的东西。在首选项&gt;下在服务器上,选中复选框 在工作区中创建资源。然后删除现有的 Tomcat服务器并创建另一个。这将创造所有 工作区内的资源而不是.metadata目录中的资源, 因此,您可以将它们与工作区中的其他文件一起编辑。