gpt4 book ai didi

java - 有谁知道如何使用使用 tomcat 插件的子项目构建 gradle 父项目

转载 作者:行者123 更新时间:2023-12-01 13:22:13 25 4
gpt4 key购买 nike

我正在开发一个包含 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 的每个子项目,我是否必须在其“项目”部分中的依赖项中指定类路径 (project (':subproject-a') { dependencys { classpath ... ?

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

在哪里定义 tomcat 选项?

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

最佳答案

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

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

关于java - 有谁知道如何使用使用 tomcat 插件的子项目构建 gradle 父项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21960076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com