尝试在Gradle中使用TomcatAnt任务



我正在从Ant迁移到Gradle。我似乎找不到更好的方法来管理Grade中的tomcat部署,所以我试图在Gradle中使用TomcatAnt任务,但我无法实现。

以下是我在Ant中所做的工作

<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/>
<target name="deploy" description="Install web application"
depends="dist">
<deploy url="${url}" username="${username}" password="${password}"
path="/${contextName}" war="${DIST}/${contextName}.war"/>
</target>

因此,在Gradle和我正在尝试使用像这样的Ant任务

ant.taskdef(name:"deploy", classname:"org.apache.catalina.ant.DeployTask", 
classpath: "PATH_TO_catalina-ant.jar")
ant.deploy(url="http://localhost:8080/manager/text" username="user" password="pass"
path="/app" war="dist/app.war")

当我运行带有--debug标志的任务时,我可以看到该任务正在从JAR 中加载属性

Class org.apache.catalina.ant.DeployTask loaded from ant loader (parentFirst)

但是我收到这个错误信息

Could not set unknown property 'war' for task ':deploy' of type org.gradle.api.DefaultTask.

WAR肯定是这个任务的一个属性,但错误消息调用它DefaultTask的事实让我认为taskdef设置不正确,但我不确定。事实上,什么都不起作用,因为如果我去掉"战争",它只会对我定义的下一个属性发出同样的抱怨。

我正在使用Gradle 3.5

您需要用逗号分隔任务属性。您对taskdef任务执行了此操作,但在deploy任务中缺少它们。

ant.deploy(url="http://localhost:8080/manager/text", username:"user", password:"pass", path:"/app", war:"dist/app.war")

相关内容

  • 没有找到相关文章

最新更新