[英]Tomcat not booting up Gradle Webapp
我有一个Gradle webapp ,在build.gradle中定义了插件war
和jetty
,如下所示:
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty'
group = 'com.company'
sourceCompatibility = 1.8
targetCompatibility = 1.8
version = '1.0'
war.baseName = 'deploy'
repositories {
mavenLocal()
mavenCentral()
maven { url "http://repository.pentaho.org/artifactory/repo/" }
}
dependencies {
..
}
当我执行gradle这个构建jettyRunWar
,具体如下:
$ ./gradlew jettyRunWar
它构建应用程序,然后按预期将其部署到Jetty。
现在,我也想将相同的应用程序部署到Tomcat7 ,要执行相同的操作,我按如下方式运行gradle war任务:
$ ./gradlew war
运行任务之后,我可以在/Users/ArpitAggarwal/deploy/build/libs/
看到deploy-1.0.war ,当我尝试将其部署到Tomcat7时,Tomcat并未将其拾取。
我的问题是-我是否需要应用任何其他插件以使应用程序可部署到Tomcat7?
谢谢。
war
插件只会创建战争,它不会将生成的战争本身部署到tomcat。
您可以创建任务以将战争部署到tomcat。
task deployToTomcat(type: Copy) {
from war.archivePath
into "${tomcatHome}/webapps"
}
您也可以使用gradle-tomcat-plugin 。
问题是.war
文件的contextRoot
。 Gradle会选择war.baseName
和version
生成.war文件的contextRoot,因此contextRoot更改为deploy-1.0,并且可以在以下位置访问该应用程序:
localhost:8080/deploy-1.0
然后我从build.gradle
删除了version字段,这使Gradle使用contextRoot作为部署和应用程序可访问性生成.war,位于:
localhost:8080/deploy/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.