我正在使用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”目录。
如果我的“Maven Eclipse”工作区与Tomcat集成,我需要做什么才能像我的m2Eclipse工作区一样成功运行?
答案 0 :(得分:0)
如果您手动将项目转换为动态Web模块,则无法正确配置maven-eclipse-plugin。
根据 maven-eclipse-plugin documentation,您需要在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>
答案 1 :(得分:0)
使用Tomcat plugin for Eclipse。
答案 2 :(得分:0)
我采取了另一种方式,采用现有的Eclipse Dynamic Web项目并将其转换为Maven项目。要让它们都起作用,可能需要手动编辑项目文件。
首先从“Project Explorer”视图中的小箭头选择“自定义视图”,然后从过滤器列表中取消选中“。* resources”。这将允许您查看.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>
那里有两个“变量”你可能想要单独留下 - 项目的名称(如“Servers”视图中所示)和在Tomcat上部署项目的URL的名称
我认为这是让WTP与Maven玩得很好所需的唯一变化,因为它告诉它在哪里可以找到需要部署到Tomcat的各种文件。