代码之家  ›  专栏  ›  技术社区  ›  jwaliszko

maven+eclipse+servlet-api.jar

  •  10
  • jwaliszko  · 技术社区  · 15 年前

    我使用Eclipse和插件m2eclipse来构建和管理我的项目。在POM中,我包含了servlet api的条目:

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
      </dependency>
    

    提供了作用域,不包括.jar文件到.war包(它已经由tomcatservlet容器提供)。编制人 ,文件为 包含在 ,部署到tomcat正在运行,程序正在运行,一切正常。

    但是,这个案子是从Eclipse内部开始的。从eclipse启动web应用程序后,出现以下错误:

    罐子没装。见Servlet规范2.3, 第9.7.2节。违规班级: javax/servlet/servlet.class

    我不知道为什么,因为, Maven依赖项 ,并且应该 放在WEB-INF\lib文件夹中,同时从eclipse开始。另一方面,在eclipse中,我提供了apachetomcat目录的路径,在项目内部,有对来自的库的自动引用 Apache Tomcat v6.0版 包括

    所以基本上,在删除POM对servlet-api-2.5.jar的引用之后,这个库从 Maven依赖项 好的。。。在日蚀中 .

    当然,这次没有进入POM mvn安装失败 除此之外,我之前也提供了。

    当做

    2 回复  |  直到 15 年前
        1
  •  5
  •   matt b    15 年前

    这个

    \WEB-INF\lib\servlet-api-2.5.jar)-未加载jar。参见Servlet规范2.3,第9.7.2节。有问题的类:javax/servlet/servlet.class

    就我个人而言,我会忽略这样的事情——你的Maven构建运行得很好,在Eclipse中运行应用程序除了这个不可忽视的警告之外应该运行得很好——否则你将不得不按照一个工具(Eclipse的web应用插件)和另一个工具(Maven)的预期来调整你的项目。

    (另外,我总是发现在Eclipse中作为“Web项目”运行webapps是件麻烦事,而且会导致各种各样的奇怪现象——不值得这么麻烦——如果您想在servlet容器中快速加载Maven webapp项目,只需使用 mvn jetty:run mvn tomcat:run . 与IDE作战可能是浪费时间)。

        2
  •  0
  •   Tim Wong    12 年前

    安装名为“”的插件 WTP的Maven集成 ,完全可以解决这个问题。

    http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/