我刚刚从Helios切换到Eclipse Indigo,当我试图在Tomcat 6上使用WTP运行一个支持maven的web项目时,我遇到了一些麻烦。
我遇到了Tomcat看不到Maven依赖项的经典问题。在Helios中,解决方法是通过以下方式将Maven依赖项添加到部署组件中:项目属性->部署程序集->添加"Java构建路径项"-> Maven依赖项
不幸的是,"Java Build Path Entries"选项没有被列出,只有"Folder"one_answers"Project"。我不确定这是故意的,还是我的设置有问题。
为了尝试删除外部因素,我使用以下设置:
- 重新安装Eclipse Indigo (Mac)
- 新鲜工作区
- m2e WTP集成通过Eclipse Marketplace安装 创建新的Maven项目
- 添加一些maven依赖项,加上一些代码来使用它们
- 将项目转换为面形
- 添加'Dynamic Web Module' facet
- Maven> Update Project Configuration
- 添加到Tomcat 6服务器
- 在服务器上运行
我所读到的与类似问题相关的大多数问题都归结为缺少WTP集成模块,但这似乎不是我的问题。
我做错了什么吗?
看起来new maven project
的包装类型是jar
。如果是这样,你可以将其更改为war
并尝试。
这是另一个解决方案:修复了.classpath文件
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
- <attribute name="org.eclipse.jst.component.nondependency" value=""/>
+ <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
右键单击项目
-
选择部署程序集>单击添加
-
从弹出窗口中选择Java build Path Entries,单击Next
-
使用Ctrl +鼠标选择所有显示的lib
之后,您将看到.classpath文件中的更改。
在server选项卡中再次发布项目
另一个与WTP tomcat相关的问题(如果打包已经是WAR了,但是库没有部署)在Eclipse WTP部署tomcat服务器依赖项的奇怪行为