【问题标题】:Does anyone know how to build a gradle parent project with subprojects that uses the tomcat plugin有谁知道如何用使用tomcat插件的子项目构建一个gradle父项目
【发布时间】:2014-03-24 11:33:15
【问题描述】:

我正在开发一个包含 3 个子项目的父 java 项目。我使用 gradle 作为它的构建工具。我是使用 gradle 作为构建工具的新手。

当我运行父项目、父项目和可能的两个子项目时,我试图让它在 Web 应用程序(Tomcat Web 容器)上自动运行。

我找到了一个有用的网站https://github.com/bmuschko/gradle-tomcat-plugin/blob/master/README.md

我看到我必须在父项目 build.gradle 中添加一些东西。例如:

apply plugin: 'tomcat'

它定义了以下任务:

tomcatRun:启动一个 Tomcat 实例并将展开的 Web 应用程序部署到它。 tomcatRunWar:启动一个 Tomcat 实例并将 WAR 部署到它。 tomcatStop:停止 Tomcat 实例。 tomcatJasper:运行 JSP 编译器(Jasper)并使用将 JSP 页面转换为 Java 源代码。

我需要运行“tomcatRun”和“tomcatStop”任务。我应该在哪里声明每个任务?我想我应该在 repositories { } tomcatRun { .... 下声明它,但我不确定。那是我要声明的地方吗?如果我的端口是 8080,我是否必须声明 httpPort?请问,因为8080是默认值,我用的是默认值?

我必须在依赖项中声明 tomcat 的类路径(类路径'org.gradle.api.plugins:gradle-tomcat-plugin:0.9.7')。对吧?

对于我要添加到 tomcat 的每个子项目,我是否必须在其“项目”部分中的依赖项中删除类路径(项目(“:子项目-a”){依赖项{类路径...?

我添加了 aplly 插件:'tomcat',但是当我运行它时,我得到“找不到 id 为 'tomcat' 的插件。我错过了什么?

在哪里定义 tomcat 选项?

[tomcatRun, tomcatRunWar]*.contextPath = 'stock-webservice'
[tomcatRun, tomcatRunWar, tomcatStop]*.stopPort = 8081
[tomcatRun, tomcatRunWar, tomcatStop]*.stopKey = 'stopKey'

【问题讨论】:

    标签: java eclipse gradle


    【解决方案1】:

    插件的文档应该已经回答了您的许多问题。首先,您提到的任务是由插件提供的。您不需要自己声明它们。运行 gradle tasks 以获取项目可用的任务列表。如果为属性提供了默认值,那么您不需要提供它。 Tomcat 依赖项分配给tomcat 配置。您可以从 README 文件中复制/粘贴相关代码。如果找不到插件,则意味着您没有为构建脚本的类路径声明插件依赖项。同样,您可以从文档中复制/粘贴相关代码。

    一般来说,我建议先阅读 Gradle 在线文档,以便更好地了解该工具。

    【讨论】:

    • 我通过大量更改使其成功运行。 1. 我对类路径进行了更改。 2. 我将 buildscript 细节(来自您的自述文件)添加到 build.gradle。 buildscript { repositories { jcenter() } dependencies { classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:1.0' } } 最初不起作用,“可以...”,引导我到 (stackoverflow.com/questions/21087330/… )
    • 3.手动将 gradle-tomcat-plugin-1.0 添加到 gradle 的插件目录 4. 升级后的 gradle 添加 tomcat "org.apache.tomcat:tomcat-catalina:${tomcatVersion}", "org.apache.tomcat:tomcat-coyote:${ tomcatVersion}", "org.apache.tomcat:tomcat-jasper:${tomcatVersion}" 到我想在tomcat上运行的子项目。
    • 我有:[tomcatRun, tomcatStop]*.stopKey = 'stopKey' 如何阻止 Tomcat 运行?
    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 2012-06-24
    • 1970-01-01
    相关资源
    最近更新 更多