NoClassDefFoundError在Spring引导中运行JSF
我正想找一双有着整洁面孔的工作靴。我跟着这个例子。我试着将它从gradle迁移到maven,因为项目的另一部分使用maven,但我总是得到它NoClassDefFoundError在Spring引导中运行JSF,jsf,spring-boot,Jsf,Spring Boot,我正想找一双有着整洁面孔的工作靴。我跟着这个例子。我试着将它从gradle迁移到maven,因为项目的另一部分使用maven,但我总是得到它 java.lang.NoClassDefFoundError: javax/servlet/jsp/JspFactory 我在搜索,我找到了这个解决方案,但它对我不起作用 这是pom文件中的我的依赖项列表: <dependencies> <dependency> <groupId>
java.lang.NoClassDefFoundError: javax/servlet/jsp/JspFactory
我在搜索,我找到了这个解决方案,但它对我不起作用
这是pom文件中的我的依赖项列表:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.8-02</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.8-02</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>5.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<version>2.2</version>
<scope>compile</scope>
</dependency>
<!-- Spring web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1201-jdbc41</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-cypher-compiler-2.1</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
</dependencies>
org.springframework.boot
弹簧靴起动器
org.springframework.boot
弹簧启动机tomcat
假如
com.sun.faces
jsf impl
2.2.8-02
编译
com.sun.faces
JSFAPI
2.2.8-02
编译
org.primefaces
素面
5
编译
javax.el
埃尔api
2.2
编译
org.glassfish.web
厄尔尼普勒
2.2
编译
org.springframework
弹簧网
org.postgresql
postgresql
9.4-1201-jdbc41
运行时
org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
弹簧启动启动器数据rest
org.neo4j
neo4j-cypher-compiler-2.1
2.1.5
org.springframework.security
spring安全网
3.2.8.1发布
org.springframework.security
spring安全配置
3.2.8.1发布
我还尝试下载所需的库并将它们放入WEB-INF/lib,但没有成功。我使用的是Intelij 14 我可以使用mvn springboot:run命令行运行它。在Intellij Idea中,我们可以将其作为Maven项目运行,并在命令行参数字段中给出“spring boot:run”在Tomcat 7、Spring Boot 1.2.3、JSF Mojarra 2.2.11、PrimeFaces 6.1中运行良好。需要将以下内容添加到pom.xml中
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<!--<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
javax.servlet
servlet api
2.3
假如
javax.servlet
jsp api
2
假如
javax.servlet
jstl
1.2
这种依赖关系的组合帮助我启动了Spring启动并使用JSF运行
这些库为嵌入式Tomcat提供了正确处理JSFServlet请求EL表达式所需的类
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>com.sun.el</groupId>
<artifactId>el-ri</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
javax.servlet.jsp
jsp api
2.2
com.sun.el
埃尔里
1
javax.servlet
jstl
1.2