Tomcat没有获取正确的jar

时间:2013-09-26 15:51:41

标签: eclipse maven tomcat tomcat7 maven-3

我正在使用Eclipse Juno,Tomcat 7和Maven 3开发一个Web项目,并遇到了一个奇怪的问题。

我有一个单独的项目,我编译了一些东西,我在我的web项目中选择了jar作为依赖项。所以,最终结果是一个.war。 现在,当我在Eclipse中的嵌入式Tomcat中运行此战争并点击浏览器上的刷新按钮时,Tomcat说它无法在该jar中找到路径。

在工作区 WEB-INF / lib 文件夹中,我找到 myApplication-common-widgetset-0.0.11-20130926.124257-7.jar

wtpwebapps / myApplication / WEB-INF / lib 下的Tomcat部署目录中,我看到 myApplication-common-widgetset-0.0.11-SNAPSHOT.jar 奇怪的是Tomcat lib下的文件大1kb,我工作区lib中的文件大约是22Mb。

我尝试将工作区jar复制到Tomcat lib文件夹,一切正常并作为魅力运行。

更新

  • 当我从工作区的命令行运行mvn tomcat:run时,一切正常。
  • 我“重新安装”Eclipse(Kepler,擦除所有内容,包括工作区和主文件夹)和Tomcat 7.我仍然遇到同样的问题。
  • 大学尝试从SVN获取项目并成功运行,包括Eclipse和IntelliJ + Tomcat 7

可能发生了什么?为什么Eclipse嵌入式Tomcat无法从目标目录中获取所有内容?

1 个答案:

答案 0 :(得分:0)

我认为你面临的问题是eclipse没有严格遵守maven依赖的现实。

这与在Eclipse上构建,部署和运行时eclipse不遵从maven的事实有关。 Eclipse将使用您的本地工作空间设置,因此有时会引入与maven不同的依赖关系树。

根据您提供的信息,好像工作区lib文件来自maven存储库,而嵌入式tomcat部署目录中的文件是eclipse构建的jar文件 - 我在这里猜测。

如果那个jar来自工作区项目,你可以尝试关闭项目并让eclipse从maven中找到jar。

Eclipse和Maven的这个问题相当模糊,所以很难弄清楚依赖关系到底发生了什么,很抱歉我无法提供更多的帮助