【问题标题】:compilation error :- packages are missing编译错误:- 缺少包
【发布时间】:2013-01-10 05:39:51
【问题描述】:

这些天我正在学习maven。在制作Web应用程序时显示错误。

当我在源位置添加 servlet 并将这些更改添加到 web.xml.它显示package missing errors

我在代码中的导入是:-

  1. 导入 java.io.*;
  2. 导入 javax.servlet.*;
  3. 导入 javax.servlet.http.*;

当我在command prompt 中写mvn compilewindows。它显示错误。

错误如下:-

  1. javax.servlet 包不存在。
  2. 包 javax.servlet.http 不存在。
  3. 与以上两个相关的一些错误。

帮助我。寻找您的友好回应。

【问题讨论】:

    标签: java maven web-applications servlets maven-2


    【解决方案1】:

    您可能只需将依赖项添加到您的 web.xml。

    在这里查看:http://mvnrepository.com/artifact/javax.servlet/servlet-api

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

    【讨论】:

    • 另外请注意,javax.servlet 依赖项应该几乎总是按照提供的范围限定,因为应用程序容器会为您提供这些类。
    【解决方案2】:

    我不确定您最初是如何创建 Web 应用程序的。您可以使用 Maven 为您创建一个示例 webApp,只需一个简单的命令。您可以使用最新的 Maven 版本(我使用 Maven 3.04)来使用以下命令

     mvn archetype:generate 
    

    然后它列出了提供的模板,并要求您选择一个数字。

    然后选择 436,它是 Java 5 版的 Java EE webapp 模板(你可以选择你喜欢的任何版本)

    Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 247: 436
    Choose org.codehaus.mojo.archetypes:webapp-jee5 version: 
    1: 1.0
    2: 1.0.1
    3: 1.1
    4: 1.2
    5: 1.3
    Choose a number: 5: 5
    

    然后给出下面需要的参数

    Define value for property 'groupId': : Priya.MyWebTutorial.org
    Define value for property 'artifactId': : MyLearnersApp
    Define value for property 'version':  1.0-SNAPSHOT: : 
    Define value for property 'package':  Priya.MyWebTutorial.org: : 
    Confirm properties configuration:
    groupId: Priya.MyWebTutorial.org
    artifactId: MyLearnersApp
    version: 1.0-SNAPSHOT
    package: Priya.MyWebTutorial.org
     Y: : 
    

    您将在同一文件夹中创建一个 webapp 模板,可以使用。您将已经在生成的 pom.xml 中添加了依赖项,如下所示

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

    当您编译此 Web 应用程序时,Maven 会自动将您的应用程序所需的 servlet 和 jsp jar 下载到您的本地存储库中。

    【讨论】:

    • 或者如果你不想从头开始,只需在 pom.xml 中添加上述依赖项,然后全新安装。你会得到所需的罐子。
    猜你喜欢
    • 2013-08-11
    • 1970-01-01
    • 2020-07-12
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    相关资源
    最近更新 更多