0
votes

I have a problem with my ant-script and tomcat. I want to create a ant-scipt who build, compile and deploy my gwt-application on my tomcat-server with jenkins. For this I use the undeploy and deploy task from 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(Project.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)

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!

1

1 Answers

3
votes

It seems, your version of catalina-ant.jar requires Java 7 and you use a different version. Either use a recent JRE for running Ant or an older 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.