簡體   English   中英

Tomcat無法啟動Gradle Webapp

[英]Tomcat not booting up Gradle Webapp

我有一個Gradle webapp ,在build.gradle中定義了插件warjetty ,如下所示:

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.baseNameversion生成.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM