Home java why Maven swears? Javax.Servlet Does Not Exist

why Maven swears? Javax.Servlet Does Not Exist

Author

Date

Category

When assembling Maven swears on the rows:

import javax.servlet.servletexception; // Package Javax.Servlet Does Not Exist
import javax.servlet.annotation.WebServlet; // Package Javax.Servlet.annotation Does Not Exist
Import javax.servlet.http.httpservlet;
import javax.servlet.http.httpservletRequest;
import javax.servlet.http.httpservletresponse;

and not only on these.

Why so? With a simple start, everything is OK, and when assembling Maven that is wrong? These lists are added via “Project Structure / LIBS”.

UPD: pom.xml

& lt; xml version = "1.0" encoding = "UTF-8"? & gt;
& lt; Project XMLNS = "http://maven.apache.org/pom/4.0.0"
     XMLNS: XSI = "http://www.w3.org/2001/xmlschema-Instance"
     XSI: Schemalocation = "http://maven.apache.org/pom/4.0.0
     http://maven.apache.org/xsd/maven-4.0.0.xsd">
  & lt; Modelversion & GT; 4.0.0 & lt; / Modelversion & GT;
  & lt; groupid & gt; groupid & lt; / groupid & gt;
  & lt; artifactid & gt; WebBD & lt; / artifactid & gt;
  & lt; Version & GT; 1.0-Snapshot & lt; / Version & GT;
  & lt; Packaging & gt; jar & lt; / packaging & gt;
  & lt; Properties & gt;
    & lt; tomcat.version & gt; 8.5.23 & lt; /tomcat.version>
  & lt; / Properties & gt;
  & lt; dependencymanagement & gt;
    & lt; Dependencies & gt;
      & lt; dependency & gt;
        & lt; groupid & gt; javax.servlet & lt; / groupid & gt;
        & lt; artifactid & gt; javax.servlet-API & lt; / artifactid & gt;
        & lt; Version & gt; 3.0.1 & lt; / version & gt;
      & lt; / dependency & gt;
      & lt; dependency & gt;
        & lt; groupid & gt; org.apache.tomcat.Embed & lt; / groupid & gt;
        & lt; artifactid & gt; Tomcat-Embed-Core & LT; / artifactid & gt;
        & lt; version & gt; $ {tomcat.version} & lt; / version & gt;
      & lt; / dependency & gt;
      & lt; dependency & gt;
        & lt; groupid & gt; org.apache.tomcat.Embed & lt; / groupid & gt;
        & lt; artifactid & gt; Tomcat-Embed-Jasper & lt; / artifactid & gt;
        & lt; version & gt; $ {tomcat.version} & lt; / version & gt;
      & lt; / dependency & gt;
      & lt; dependency & gt;
        & lt; groupid & gt; org.apache.tomcat & lt; / groupid & gt;
        & lt; artifactid & gt; Tomcat-jasper & lt; / artifactid & gt;
        & lt; version & gt; $ {tomcat.version} & lt; / version & gt;
      & lt; / dependency & gt;
      & lt; dependency & gt;
        & lt; groupid & gt; org.apache.tomcat & lt; / groupid & gt;
        & lt; artifactid & gt; Tomcat-jasper-el & lt; / artifactid & gt;
        & lt; version & gt; $ {tomcat.version} & lt; / version & gt;
      & lt; / dependency & gt;
      & lt; dependency & gt;
        & lt; groupid & gt; org.apache.tomcat & lt; / groupid & gt;
        & lt; artifactid & gt; Tomcat-Jsp-API & LT; / artifactid & gt;
        & lt; version & gt; $ {tomcat.version} & lt; / version & gt;
      & lt; / dependency & gt;
    & lt; / dependencies & gt;
  & lt; / dependencymanagement & gt;
  & lt; Build & gt;
    & lt; finalname & gt; embeddedtomcatsample & lt; / finalname & gt;
    & lt; pluginmanagement & gt;
      & lt; plugins & gt;
        & lt; plugin & gt;
          & lt; groupid & gt; org.codehaus.mojo & lt; / groupid & gt;
          & lt; artifactid & gt; Appassembler-Maven-plugin & lt; / artifactid & gt;
          & lt; version & gt; 2.0.0 & lt; / version & gt;
          & lt; Configuration & gt;
            & lt; Assembledirectory & gt; target & lt; / Assembledirectory & gt;
            & lt; Programs & gt;
              & lt; Program & GT;
                & lt; Mainclass & gt; Main & LT; / MainClass & GT;
                & lt; Name & gt; WebApp & LT; / Name & GT;
              & lt; / Program & gt;
            & lt; / Programs & gt;
          & lt; / configuration & gt;
          & lt; Executions & gt;
            & lt; execution & gt;
              & lt; phase & gt; package & lt; / phase & gt;
              & lt; goals & gt;
                & lt; goal & gt; Assemble & lt; / goal & gt; 
& lt; / goals & gt;
            & lt; / execution & gt;
          & lt; / executions & gt;
        & lt; / plugin & gt;
      & lt; / plugins & gt;
    & lt; / pluginManagement & gt;
  & lt; / build & gt;
& lt; / project & gt;

Answer 1, authority 100%

The library needs to be added javax.servlet . In this case, since tomcat is embedded:

& lt; dependency & gt;
  & lt; groupId & gt; org.apache.tomcat & lt; / groupId & gt;
  & lt; artifactId & gt; tomcat-servlet-api & lt; / artifactId & gt;
  & lt; version & gt; $ {tomcat.version} & lt; / version & gt;
  & lt;! - version & gt; 8.5.23 & lt; / version - & gt;
& lt; / dependency & gt;

In most cases, enough:

& lt; dependency & gt;
  & lt; groupId & gt; javax.servlet & lt; / groupId & gt;
  & lt; artifactId & gt; javax.servlet-api & lt; / artifactId & gt;
  & lt; version & gt; 4.0.1 & lt; / version & gt;
  & lt; scope & gt; provided & lt; / scope & gt;
& lt; / dependency & gt;

See “Can’t import javax.servlet.annotation.WebServlet”

Programmers, Start Your Engines!

Why spend time searching for the correct question and then entering your answer when you can find it in a second? That's what CompuTicket is all about! Here you'll find thousands of questions and answers from hundreds of computer languages.

Recent questions