有没有人知道如何使用使用tomcat插件的子项目构建gradle父项目

时间:2014-02-22 20:26:20

标签: java eclipse gradle

我正在开发一个包含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)并使用./ / p>将JSP页面转换为Java源代码

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

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

对于我想添加到tomcat的每个子项目,我是否必须在其“项目”部分(项目(':subproject-a'){dependencys {classpath ...?

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

我在哪里定义tomcat选项?

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

1 个答案:

答案 0 :(得分:1)

插件的文档应该已经回答了很多问题。首先,您提到的任务由插件提供。您不需要自己声明它们。运行gradle tasks以获取项目可用的任务列表。如果为属性提供了默认值,则无需提供该属性。 Tomcat依赖项被分配给tomcat配置。您只需从README文件中复制/粘贴相关代码即可。如果找不到该插件,则表示您没有为您的buildscript的类路径声明插件依赖项。您可以再次从文档中复制/粘贴相关代码。

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