尝试在 Gradle 中使用 Tomcat Ant 任务
Trying to use Tomcat Ant task in Gradle
我正在从 Ant 迁移到 Gradle。我似乎找不到更好的方法来管理我在 Grade 中的 tomcat 部署,所以我尝试使用 Gradle 中的 Tomcat Ant 任务,但我无法让它工作.
这是我在 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
设置不正确但是我不确定。实际上没有任何工作,因为如果我删除 "war" 那么它只会抱怨我定义的下一个 属性 相同。
我正在使用 Gradle 3.5
您需要用逗号分隔任务属性。您使用 taskdef
任务完成了此操作,但 deploy
任务中缺少它们。
ant.deploy(url="http://localhost:8080/manager/text", username:"user", password:"pass", path:"/app", war:"dist/app.war")
我正在从 Ant 迁移到 Gradle。我似乎找不到更好的方法来管理我在 Grade 中的 tomcat 部署,所以我尝试使用 Gradle 中的 Tomcat Ant 任务,但我无法让它工作.
这是我在 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
设置不正确但是我不确定。实际上没有任何工作,因为如果我删除 "war" 那么它只会抱怨我定义的下一个 属性 相同。
我正在使用 Gradle 3.5
您需要用逗号分隔任务属性。您使用 taskdef
任务完成了此操作,但 deploy
任务中缺少它们。
ant.deploy(url="http://localhost:8080/manager/text", username:"user", password:"pass", path:"/app", war:"dist/app.war")