eclipse - 部署在 WTP (Eclipse) Tomcat : META-INF/context. xml 中的 Maven WebApp 未被复制过来(被忽略)

标签 eclipse maven tomcat deployment

免责声明:这不是“为什么不考虑在 META-INF/context.xml 中声明的我的 JDBC 资源”类型问题的重复。

我有两个 Java EE 网络应用程序:

  • 一个是使用 Eclipse 的“Web 应用程序项目”模板在 Eclipde IDE 中创建的

  • 另一个是使用Maven创建,然后导入Eclipse

在 Eclipse 中,我还有一个使用 WTP 插件配置的 Tomcat,这样我就可以轻松地(或者我希望如此)以“一键式”方式在其中部署我的 Eclipse Web 应用程序。

对于上述每个应用程序,我在它们的 META-INF 目录中都有一个 context.xml 文件,我在其中将一些 JDBC 数据源声明为 JNDI 资源。

Eclipse 创建的应用程序部署在 Eclipse 内的 WTP Tomcat 中时工作正常。我在 Eclipse 中右键单击 Tomcat 服务器,添加项目,启动它,一切正常,找到了 JNDI 数据源等。

对于另一个项目,即使用 Maven 创建并在 Eclipse 中导入的项目,如果我将其添加到 WTP Tomcat,并手动指定由 Maven 构建 war 文件的位置(在“目标”目录中),它似乎可以工作,但是找不到 JNDI 数据源,更具体地说,我的 Spring 声明的数据源:

 <jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/whatever" />

抛出一个异常,表示没有 JNDI 名称绑定(bind)到“whatever”。

如果我在“常规”Tomcat 中部署完全相同的 war 文件(只是解压 Tomcat,不涉及 Eclipse)它工作正常并且找到了在 war 的 META-INF/context.xml 中声明的 JNDI 数据源。

我查看了 Eclipse 的 Tomcat 工作目录,对于 Eclipse 创建的项目,context.xml 文件确实被复制到“{catalina home}\wtpwebapps\eclipeProjectName\META-INF\context.xml”中,这里有Maven 项目没有这样的文件(和文件夹结构)。

我的问题是:有人知道如何将 Maven 创建的 Web 应用程序导入到 Eclipse 中并部署到 WTP Tomcat 中,以便将 META-INF/context.xml 文件考虑在内吗?

最佳答案

正如您所提到的,您正在使用 Eclipse Helios。 JBoss 提供了另一种选择,即 Eclipse Update Site。 . The document告诉我们如下:-

The following folders should never be removed as they are part of composite requirement sites used for current/previous JBoss Tools releases:

Helios SR2: 0.13.1

Indigo SR2: 0.15.3

Juno (SOA Tooling Integration Stack ONLY - may not be needed much longer?): 0.14.0

Juno SR1 (can be removed when we have a Juno SR2 target platform instead, if anything newer exists): 0.16.0

请注意,在 Eclipse Juno 之前,我将 Helios 和 Indigo 与此插件一起使用。这也给了我一个很好的结果。

希望这对您有所帮助。

关于eclipse - 部署在 WTP (Eclipse) Tomcat : META-INF/context. xml 中的 Maven WebApp 未被复制过来(被忽略),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15766631/

相关文章:

eclipse - 如何确定部署到 T/C 6 的 Web 应用程序中的内存损坏?

css - JSF 中的 RES_NOT_FOUND

java - 在 Eclipse 中使用 .jars

java - Maven 不在代理后面下载 jar

maven - 防止 Tomcat7 Maven 插件记录上传进度

apache - Tomcat 应用程序服务器中的负载分布不均匀代理在前端 Apache httpd Web 服务器中平衡

spring - Tomcat以管理员身份注销另一个用户

java - 删除未实现的方法

java - 缺少图像/文件的可运行 JAR(资源)

java - 重复的片段名称错误 Jetty Maven 插件