Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NoSuchMethodError:javax.servlet.http.HttpServletRequest.getPart(Ljava/lang/String;)Ljavax/servlet/http/Part;_Java_Maven_Servlets - Fatal编程技术网

java.lang.NoSuchMethodError:javax.servlet.http.HttpServletRequest.getPart(Ljava/lang/String;)Ljavax/servlet/http/Part;

java.lang.NoSuchMethodError:javax.servlet.http.HttpServletRequest.getPart(Ljava/lang/String;)Ljavax/servlet/http/Part;,java,maven,servlets,Java,Maven,Servlets,这个问题在堆栈溢出上问了很多次,我检查了所有并尝试了所有其他人所说的消除上述错误的可能性,但仍然没有弄清楚。 Servlet api-3.1,使用Maven构建工具,使用JRE 1.7,我的web inf文件夹包含与我在pom.xml文件中定义的相同的javax.Servlet 3.1 这是我的pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS

这个问题在堆栈溢出上问了很多次,我检查了所有并尝试了所有其他人所说的消除上述错误的可能性,但仍然没有弄清楚。 Servlet api-3.1,使用Maven构建工具,使用JRE 1.7,我的web inf文件夹包含与我在pom.xml文件中定义的相同的javax.Servlet 3.1

这是我的pom.xml文件

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ebooks</groupId>
  <artifactId>project</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>InsaneNerds Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>



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


    <dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.2</version>
</dependency>

    <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.3.2</version>
</dependency>







       <dependency>  
       <groupId>javax</groupId>  
       <artifactId>javaee-api</artifactId>  
       <version>6.0</version>  
       <scope>provided</scope>  
     </dependency> 


       <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>1.7.1</version>
    </dependency>

        <dependency>  
    <groupId>org.hibernate</groupId>  
    <artifactId>hibernate-core</artifactId>  
    <version>4.1.9.Final</version>  
</dependency>  

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.9</version>
    </dependency>
    <dependency>
    <groupId>com.restfb</groupId>
    <artifactId>restfb</artifactId>
    <version>1.17.0</version>
</dependency>


    <dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4</version>
</dependency>


  </dependencies>
  <build>
    <finalName>project</finalName>
  </build>
</project>

4.0.0
com.ebooks
这样做,但我得到以上的错误

我所尝试的: 1.我检查了我的依赖关系 2.我的Web INF文件夹 3.所有可能的解决方案,即在互联网上提供,但仍无法解决

是否有其他方法从html上传文件并将其存储在mysql数据库中。
有人能帮忙吗?

您应该将servlet api标记为提供的
,但这意味着您依赖于应用程序服务器提供的版本。(
provided
说“不要在战争中捆绑这个库;应用服务器将提供它。”)你没有说你正在使用什么应用服务器或版本,但是如果它是,例如Tomcat 5.5,那么我对这个错误一点也不奇怪,由于此方法是在servlet规范的3.0中添加的。

当我使用servlet 3.0规范时,我遇到了这种情况,但pom有3.1

Hmmm,这很奇怪。Tomcat7支持Servlet3.0。。。您的web.xml文件的前几行如何?您是否使用3.0版的模式声明?