0

我正在使用 Tomcat 6.0.18 运行 Eclipse Galileo。

目前,我有一个安装了 m2Eclipse 插件的工作应用程序。它部署到 Tomcat,我可以测试我的应用程序。

我想切换到只使用 Maven Eclipse 插件。问题是 Tomcat 拒绝部署我的应用程序。

我已将我的 web 项目转换为动态 web 模块,并将所有构建路径设置为尽可能接近我以前的 m2Eclipse 工作区,但仍然没有成功。当我点击网址时,我只是得到一个空白页。

我所做的缩小范围是在我的 m2Eclipse 工作区中,当 Tomcat 发布 Web 项目时,[TOMCAT_HOME]\conf\Catalina\localhost 中的 context.xml 文件将 docBase 设置为“Web Content”目录。在我的 Maven Eclipse 工作区中,Tomcat 发布的 context.xml 将 docBase 设置为“Java Source”目录。

我需要做什么才能让与 Tomcat 集成的“Maven Eclipse”工作区像我的 m2Eclipse 工作区一样成功工作?

4

3 回答 3

0

如果您手动将项目转换为动态 Web 模块,则说明您没有正确配置 maven-eclipse-plugin。

根据maven-eclipse-plugin 文档,您需要在您的 pom 中(或通过传递 -D 参数)为 WTP 项目指定其他配置。关键是<wtpversion>标签。

     <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <configuration>
                    <projectNameTemplate>[artifactId]-[version]</projectNameTemplate>
                    <wtpmanifest>true</wtpmanifest>
                    <wtpapplicationxml>true</wtpapplicationxml>
                    <wtpversion>2.0</wtpversion>
                    <manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF</manifest>
            </configuration>
    </plugin>
于 2009-11-10T14:40:56.620 回答
0

研究使用 Eclipse 的 Tomcat插件

于 2009-11-10T14:41:58.937 回答
0

我采取了另一种方式,采用现有的 Eclipse 动态 Web 项目并将其转换为 Maven 项目。要让它们都工作,可能需要手动编辑项目文件。

首先从“项目资源管理器”视图中的小箭头中选择“自定义视图”,然后从过滤器列表中取消选中“.* 资源”。这将允许您查看 .settings 目录的内容。

打开org.eclipse.wst.common.component. 它是一个 XML 文件,它告诉 WTP 项目 webapp 文件所在的位置。

为了让它与 Maven 一起工作,你需要它看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
  <wb-module deploy-name="(project name)">
    <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>
    <property name="context-root" value="(project URL)"/>
    <property name="java-output-path"/>
  </wb-module>
</project-modules>

那里有两个“变量”,您可能不想管它——项目的名称(在“服务器”视图中显示)和项目在 Tomcat 上部署的 URL 的名称。

我认为这是让 WTP 与 Maven 配合得很好真正需要的唯一更改,因为这告诉它在哪里可以找到它需要部署到 Tomcat 的各种文件。

于 2009-12-18T16:07:43.627 回答