我正在关注下一个教程:https://spring.io/guides/gs/rest-service/
我注意到他们没有使用tomcat来运行他们的项目。他们使用" gradle run"命令运行它。 是否可以在tomcat下运行Spring项目?
另外,我想知道它是否合理。我们是否需要tomcat来运行Spring RESTful项目(也许最好运行" gradle run"命令)?
我正在使用Intellij IDEA和gradle 3.0
我有下一个build.gradle内容:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.0.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
jar {
baseName = 'gs-rest-service'
version = '0.1.0'
}
repositories {
jcenter()
maven { url "http://repo.spring.io/libs-snapshot" }
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
}
教程中的所有课程
答案 0 :(得分:1)
如果您想使用Spring Boot提供的嵌入式Tomcat,您可以使用spring-boot-starter-web
启动器并使用spring-boot:run
运行项目。
但是,当您按照提供的方式设置spring-boot-starter-tomcat
时,我认为您想要使用外部Tomcat。
在这里,您可以找到用于WAR创建的documentation。您需要使用WAR gradle插件,配置Tomcat实例并像往常一样使用spring-boot:run
运行项目。
如果您正在使用Gradle,则需要修改build.gradle以将war插件应用于项目:
申请插件:'war'
该过程的最后一步是确保嵌入式servlet容器不会干扰将部署war文件的servlet容器。为此,您需要标记所提供的嵌入式servlet容器依赖项。
依赖{ // ... providedRuntime'org.springframework.boot:spring-boot-starter-tomcat' // ... }
答案 1 :(得分:0)
RESTful Web Service顾名思义就是在Web上运行的服务(HTTP协议)。如果你想在Web上运行任何应用程序,你需要在WEB SERVER上部署它.Tomcat是一个web服务器。是的,你需要Tomcat((或JBoss,Websphere,Weblogic,...服务器))来运行Spring或任何RESTful Web服务.Gradle是依赖管理工具,它可以帮助您构建所需的可执行文件(如Web服务中的.war) /应用)。
答案 2 :(得分:0)
我更喜欢使用Idea中的Spring Boot Run配置来运行Spring Boot项目。
只需创建一个新的运行配置并指定Application
作为主类。有关官方documentation的更多信息。
但是,您也可以在Tomcat中运行它。这意味着创建一个Tomcat运行配置并在那里部署由此产生的战争,但这更加麻烦。