maven編譯web項目顯示“軟件包 javax.servlet.http 不存在"


maven項目編譯報錯:

 

[java]  view plain  copy
 
 
 
  1. 軟件包 javax.servlet 不存在  
  2. import javax.servlet.*;  
  1.  
    軟件包 javax.servlet 不存在
  2.  
    import javax.servlet.*;

 

明明tomcat下面的lib自帶有這些包,卻依然加載失敗,

解決方法一:

在pom.xml里面重新引入這個包

 

[java]  view plain  copy
 
 
 
  1. <dependency>  
  2.     <groupId>javax.servlet</groupId>  
  3.     <artifactId>servlet-api</artifactId>  
  4.     <version>2.5</version>  
  5.     <scope>provided</scope>  
  6. </dependency> 

      <!-- servlet相關 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
            <scope>provided</scope>
        </dependency>

  1.  
    <dependency>
  2.  
    <groupId>javax.servlet</groupId>
  3.  
    <artifactId>servlet-api</artifactId>
  4.  
    <version> 2.5</version>
  5.  
    <scope>provided</scope>
  6.  
    </dependency>


但是這個方法容易會跟tomcat里面的包沖突,會報這個錯誤:

 

 

[java]  view plain  copy
 
 
 
  1. jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class    
jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 


解決方法二:

 

右鍵,buildPath,自己手動從tomcat目錄下的lib包里添加外部jar包。

 

參考:

項目--右鍵--屬性-->

Java Build Path--查看jdk版本

Java Compiler  -- 查看版本

Project Facets -- 查看java版本

 

三個版本要保持一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM