当我将<scope>
设置为provided
时,我的应用程序无法正常工作。但是,当它编译时,它可以工作。您能解释一下两者之间的区别吗?
这是tileConfig
类,用于设置路径。
@Configuration
public class TilesConfig {
@Bean
public ViewResolver viewResolver() {
UrlBasedViewResolver viewResolver = new UrlBasedViewResolver();
viewResolver.setViewClass(TilesView.class);
return viewResolver;
}
@Bean
public TilesConfigurer tilesConfigurer() {
TilesConfigurer tilesConfigurer = new TilesConfigurer();
tilesConfigurer.setDefinitions("/WEB-INF/tiles.xml");
return tilesConfigurer;
}
,我添加了Apache Tiles 3和JSP的依赖关系。因为Spring Boot中的嵌入式服务器(tomcat)不支持JPS。
下面的pom.xml
工作正常,但是当我按照<scope>
中的说明添加tomcat-embed-jasper
时。它不起作用:
<!-- Apache Tiles 3 -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>3.0.8</version>
</dependency>
<!-- JSP -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
答案 0 :(得分:1)
provided
意味着您希望容器(Tomcat)提供依赖关系。提供的依赖项用于编译,但未打包到您的应用程序中。
compile
依赖项已打包到您的应用程序中。
答案 1 :(得分:1)
如果您指定提供的范围,则表示您希望JDK或容器在运行时提供依赖项。该依赖项不存在,因此无法找到它。
jar
文件