[英]Tomcat undeploy/deploy with Ant
I have a problem with my ant-script and tomcat. 我的蚂蚁脚本和tomcat有问题。 I want to create a ant-scipt who build, compile and deploy my gwt-application on my tomcat-server with jenkins.
我想创建一个使用jenkins在我的tomcat服务器上构建,编译和部署我的gwt应用程序的ant-scipt。 For this I use the undeploy and deploy task from catalina (catalina-ant.jar).
为此,我使用来自catalina(catalina-ant.jar)的取消部署和部署任务。 But I get this error:
但是我得到这个错误:
BUILD FAILED D:\\Jenkins\\jobs\\HomepageTomcat\\workspace\\build.xml:124: java.lang.NoSuchFieldError: ISO_8859_1 at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:204) at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:150) at org.apache.catalina.ant.UndeployTask.execute(UndeployTask.java:44) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:435) at org.apache.tools.ant.Target.performTasks(Target.java:456) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) at org.apache.tools.ant.Project.executeTarget(Projec
失败的D:\\ Jenkins \\ jobs \\ HomepageTomcat \\ workspace \\ build.xml:124:java.lang.NoSuchFieldError:ISO_8859_1在org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:204)在org.apache。 org.apache.catalina.ant.UndeployTask.execute(UndeployTask.java:44)上的catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:150)在org.apache.tools.ant.UnknownElement.execute(UnknownElement.java: 292),位于org.apache的java.lang.reflect.Method.invoke(Method.java:601)处,位于sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)处的sun.reflect.GeneratedMethodAccessor4.invoke(未知源) org.apache.tools.ant.Task.perform(Task.java:348)上的.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)在org.apache.tools.ant.Target.execute(Target .java:435),位于org.apache.tools.ant.Target.performTasks(Target.java:456),位于org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393),位于org.apache.tools。 ant.Project.executeTarget(Projec t.java:1364) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1248) at org.apache.tools.ant.Main.runBuild(Main.java:851) at org.apache.tools.ant.Main.startAnt(Main.java:235) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
t.java:1364)位于org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)位于org.apache.tools.ant.Project.executeTargets(Project.java:1248)位于org.apache org.apache.tools.ant.Main.startAnt(Main.java:235)上的.tools.ant.Main.runBuild(Main.java:851)org.apache.tools.ant.launch.Launcher.run(Launcher) .java:280),位于org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
This are the importend pieces of my ant-script: 这是我的蚂蚁脚本的重要部分:
5 <property name="tomcat.manager.url" value="http://localhost:8080/manager" />
6 <property name="tomcat.manager.username" value="tomcat" />
7 <property name="tomcat-manager-password" value="secret" />
8 <property name="app.name" value="appName" />
116 <target name="tomcat-undeploy" description="undeploy tomcat project">
117 <undeploy
118 url="${tomcat.manager.url}"
119 username="${tomcat.manager.username}"
120 password="${tomcat-manager-password}"
121 path="/${app.name}"
122 />
123 </target>
I hope someone can help me. 我希望有一个人可以帮助我。 Thanks!
谢谢!
It seems, your version of catalina-ant.jar
requires Java 7 and you use a different version. 看来,您的
catalina-ant.jar
版本需要Java 7,而您使用的是其他版本。 Either use a recent JRE for running Ant or an older catalina-ant.jar
. 使用最新的JRE运行Ant或使用较旧的
catalina-ant.jar
。
I looked up the code of the current AbstractCatalinaTask
(see stack trace) and found a reference to StandardChrasets.ISO_8859_1
at line 204. According to StandardCharsets documentation it did not exist before Java 7. 我查找了当前
AbstractCatalinaTask
的代码(请参阅堆栈跟踪),并在第204行找到了对StandardChrasets.ISO_8859_1
的引用。根据StandardCharsets文档,它在Java 7之前不存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.