我已经声明了这两个依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
和:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
spring-boot-starter-web
已具有spring-boot-starter-tomcat
的嵌入式tomcat内核。如图https://stackoverflow.com/a/33419889/1171533
我的问题是,何时构建并运行我的项目?选择spring-boot-starter-tomcat
的哪个实现来运行?而我该如何找到正在使用的那一个呢?
答案 0 :(得分:2)
运行mvn dependency:tree
。
寻找这一行:
...
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:<version>:provided
...
如果您删除
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
以前的输出行应该消失了,而是添加了它:
...
[INFO] \- org.springframework.boot:spring-boot-starter-web:jar:<version>:compile
[INFO] +- org.springframework.boot:spring-boot-starter:jar:<version>:compile
...
答案 1 :(得分:1)
基于类实例,您可以找到包含该类的jar的各种信息。
yourInstance.getClass().getPackage().getImplementationVersion()
答案 2 :(得分:0)
如果您在依赖项以下使用@RestController(即创建宁静的服务),则可以使用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
如果您使用theamleaf,jsp(您想将应用程序部署为war),则需要包括以下依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>