我正在开发一个包含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'
答案 0 :(得分:1)
插件的文档应该已经回答了很多问题。首先,您提到的任务由插件提供。您不需要自己声明它们。运行gradle tasks
以获取项目可用的任务列表。如果为属性提供了默认值,则无需提供该属性。 Tomcat依赖项被分配给tomcat
配置。您只需从README文件中复制/粘贴相关代码即可。如果找不到该插件,则表示您没有为您的buildscript的类路径声明插件依赖项。您可以再次从文档中复制/粘贴相关代码。
一般情况下,我建议您先阅读Gradle在线文档,以便更好地了解该工具。