Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
ClassNotFoundException:javax.servlet.jsp.JspFactory_Java_Maven_Jetty - Fatal编程技术网

ClassNotFoundException:javax.servlet.jsp.JspFactory

ClassNotFoundException:javax.servlet.jsp.JspFactory,java,maven,jetty,Java,Maven,Jetty,我有一个基于maven的应用程序,我完全复制并尝试运行mvn jetty:run 现在得到这个错误: Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.JspFactory at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) at org.codehaus.pl

我有一个基于maven的应用程序,我完全复制并尝试运行
mvn jetty:run

现在得到这个错误:

Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.JspFactory
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    ... 47 more
奇怪的是在另一台机器上工作的项目的完全相同的副本

以下是完整的依赖项:

org.jboss.spec
jboss-javaee-6.0
1.0.0.1决赛
聚甲醛
假如
javax.servlet
servlet api
2.5
阿里巴巴
fastjson
1.2.8
io.fastjson
恩惠
0.30
com.google.code.gson
格森
2.5
com.google.http-client
谷歌http客户端
1.21.0
com.google.http-client
谷歌http客户端gson
1.21.0
com.google.http-client
google-http-client-jackson2
1.21.0
com.google.inject
圭斯
3
com.google.inject.extensions
guice servlet
3
org.restlet.jee
org.restlet
${version.restlet}
org.restlet.jee
org.restlet.ext.fileupload
${version.restlet}
org.restlet.jee
org.restlet.ext.servlet
${version.restlet}
org.restlet.jee
org.restlet.ext.swagger
${version.restlet}
org.raml
raml解析器
org.restlet.jee
org.restlet.ext.xstream
${version.restlet}
org.restlet.jee
org.restlet.ext.json
${version.restlet}
com.auth0
java jwt
2.0.1
org.mindrot
jbcrypt
0.3米
com.carlosbecker
guice junit测试运行程序
1.1
测试
com.fasterxml.jackson.core
杰克逊数据绑定
${jackson.version}
com.fasterxml.jackson.core
杰克逊注释
${jackson.version}
com.fasterxml.jackson.core
杰克逊核心
${jackson.version}
org.jetbrains.xodus
xodus openAPI
1.2.3
org.jetbrains.xodus
xodus环境
1.2.3
org.jetbrains.xodus
xodus实体存储
1.2.3
番石榴
番石榴
${guava.version}
com.google.http-client
谷歌http客户端appengine
1.19.0
org.code.datafactory
数据工厂
0.8
朱尼特
朱尼特
4.12

原因是类
javax.servlet.jsp.JspFactory
不存在于
servlet api
工件中。它存在于
jspapi
工件中。我引爆了两个罐子,结果如下:

根据需要的版本添加jsp api依赖项,例如:

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

javax.servlet.jsp
jsp api
2
假如

原因是类
javax.servlet.jsp.JspFactory
不存在于
servlet api
工件中。它存在于
jspapi
工件中。我引爆了两个罐子,结果如下:

根据需要的版本添加jsp api依赖项,例如:

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

javax.servlet.jsp
jsp api
2
假如

您可以在pom.xml中使用以下依赖项

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>compile</scope>
</dependency>

org.apache.tomcat.embed
汤姆卡特·贾斯珀
编译

tomcat embed jasper:提供对.jsp文件呈现的支持。

您可以在pom.xml中使用以下依赖项

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>compile</scope>
</dependency>

org.apache.tomcat.embed
汤姆卡特·贾斯珀
编译

tomcat embed jasper:提供对.jsp文件呈现的支持。

我相信
javax.servlet:servlet api
必须提供
我刚才将其更改为
提供了
,同样的错误仍然存在
jetty maven插件的
部分看起来像什么?我相信
javax.servlet:servlet api
必须是
提供的
我刚才把它改成了
提供的
,同样的错误持续存在
你的
jetty maven插件的
部分看起来像什么?添加新工件后仍然没有解决同样的问题吗即使添加此项也无法解决相同的问题添加新工件后是否运行了
mvn clean