【问题标题】:Tomcat not booting up Gradle WebappTomcat 没有启动 Gradle Webapp
【发布时间】:2015-12-26 17:46:05
【问题描述】:

我有一个 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 {
    ..
}

当我使用 jettyRunWar 执行 gradle 构建时,如下所示:

$ ./gradlew jettyRunWar

它按预期构建应用程序并将其部署到 Jetty。

现在我也想将相同的应用程序部署到 Tomcat7,为此,我运行了 gradle war 任务,如下所示:

$ ./gradlew war

运行任务后,我可以在/Users/ArpitAggarwal/deploy/build/libs/ 中看到deploy-1.0.war,当我尝试将其部署到Tomcat7 时,它没有被Tomcat 拾取。

我的问题是 - 我是否需要应用任何其他插件才能使应用程序可部署到 Tomcat7?

谢谢。

【问题讨论】:

  • 不,你不需要任何额外的插件,你应该能够将同样的战争部署到 tomcat。您在tomcat启动中看到任何错误吗?我刚刚创建了一个战争并将其部署到 tomcat 并且运行良好。
  • tomcat 日志中没有错误。 Tomcat 在没有启动 .war 的情况下启动良好,我认为 Tomcat 不知道 .war 文件不知何故。我也尝试使用 Eclipse,首先“添加 Web 模块”被禁用,当我尝试使用“添加外部 Web 模块”添加它时,它没有启动。
  • 我也定期将gradle war插件生成的war部署到tomcat。但是gradle war插件不适合我。它只是在我的构建目录中生成一个战争文件。我使用 bash 或其他工具来部署,并且使用 Tomcat 默认安装,您只需将战争复制到 .../webapps/ 并让 Tomcat 部署它。有一个用于 gradle 的 tomcat 插件,用于部署 war 文件。可能还有其他方法可以做到这一点。
  • 哦,我以为你是手动部署的。 war 插件不这样做,它只创建一个war文件。因此,您要么必须手动部署它,要么添加一些其他插件。
  • 我尝试仅手动部署,但从 Eclipse 启动服务器并且 .war 没有被 Tomcat 拾取(不知道为什么),然后我尝试从有效的命令启动服务器。但这引发了另一个问题,我正在与您一起写一个答案。

标签: eclipse tomcat gradle build.gradle gradlew


【解决方案1】:

war插件只创建一个war,它不会自己部署生成的war到tomcat。

你可以创建一个任务来将war部署到tomcat。

task deployToTomcat(type: Copy) {
    from war.archivePath
    into "${tomcatHome}/webapps"
}

您也可以使用gradle-tomcat-plugin。

【讨论】:

  • 这是我下一个问题的答案,我将要问这个问题;)
【解决方案2】:

问题是 .war 文件的 contextRoot。 Gradle 生成 .war 文件的 contextRoot 选择 war.baseName 和 version,因此 contextRoot 更改为 deploy-1.0 和应用程序可在以下位置访问:

localhost:8080/deploy-1.0

然后我从 build.gradle 中删除了版本字段,这使得 Gradle 生成 .war 并使用 contextRoot 作为部署和应用程序可访问性:

localhost:8080/deploy/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2012-11-29
    • 2012-04-15
    • 2013-10-28
    • 2011-03-03
    • 2021-04-17
    相关资源
    最近更新 更多