0

我的 ant-script 和 tomcat 有问题。我想创建一个 ant-scipt,他使用 jenkins 在我的 tomcat 服务器上构建、编译和部署我的 gwt 应用程序。为此,我使用来自 catalina (catalina-ant.jar) 的取消部署和部署任务。但我得到这个错误:

构建失败 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) 在 sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601) 在 org.apache .tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 在 org.apache.tools.ant.Task.perform(Task.java:348) 在 org.apache.tools.ant.Target。在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 在 org.apache.executeSortedTargets(Project.java:1393) 在 org.apache.tools.ant.Target.performTasks(Target.java:456) 执行(Target.java:435) .tools.ant.Project.executeTarget(Project.java:1364) 在 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 在 org.apache.tools.ant.Project.executeTargets(Project .java:1248) 在 org.apache.tools.ant.Main.runBuild(Main.java:851) 在 org.apache.tools.ant.Main.startAnt(Main.java:235) 在 org.apache.tools。 ant.launch.Launcher.run(Launcher.java:280) 在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)Project.executeTarget(Project.java:1364) 在 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 在 org.apache.tools.ant.Project.executeTargets(Project.java:1248)在 org.apache.tools.ant.Main.runBuild(Main.java:851) 在 org.apache.tools.ant.Main.startAnt(Main.java:235) 在 org.apache.tools.ant.launch.Launcher .run(Launcher.java:280) 在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)Project.executeTarget(Project.java:1364) 在 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 在 org.apache.tools.ant.Project.executeTargets(Project.java:1248)在 org.apache.tools.ant.Main.runBuild(Main.java:851) 在 org.apache.tools.ant.Main.startAnt(Main.java:235) 在 org.apache.tools.ant.launch.Launcher .run(Launcher.java:280) 在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)280)在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)280)在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

这是我的蚂蚁脚本的重要部分:

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>

我希望有一个人可以帮助我。谢谢!

4

1 回答 1

3

看来,您的版本catalina-ant.jar需要 Java 7,而您使用的是不同的版本。使用最新的 JRE 来运行 Ant 或旧的catalina-ant.jar.

我查找了当前的代码AbstractCatalinaTask(参见堆栈跟踪)并StandardChrasets.ISO_8859_1在第 204 行找到了对它的引用。根据 StandardCharsets 文档,它在 Java 7 之前不存在。

于 2013-11-18T18:51:07.677 回答