我的ant脚本和tomcat有问题。我想创建一个ant scipt,用jenkins在我的tomcat服务器上构建、编译和部署我的gwt应用程序。为此,我使用了catalina(catalinant-jar)的取消部署和部署任务
生成失败D: \Jenkins\jobs\HomepageTomcat\workspace\build.xml:124:java.lang.NoSuchFieldError:ISO_8859_1网址:org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalina Task.java:204)网址:org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalina Task.java:150)网址:org.apache.catalina.ant.UndeployTask.execute(UnployTask.java:44)网址:org.apache.tools.ant.UnnknownElement.execute(UnknownElement.java:292)位于sun.reflect.GeneratedMethodAccessor4.invoke(未知源)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)位于java.lang.reflect.Method.ioke(Method.java:601)网址:org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtil.java:106)网址:org.apache.tools.ant.Task.aperform(Task.java:348)网址: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(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.slaunch.Launcher.run(Launcher.java:280)网址:org.apache.tools.ant.slaunch.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>
我希望有人能帮助我。谢谢
您的catalina-ant.jar
版本似乎需要Java7,而您使用的是不同的版本。请使用最新的JRE运行Ant,或者使用较旧的catalina-ant.jar
。
我查找了当前AbstractCatalinaTask
的代码(参见堆栈跟踪),并在第204行找到了对StandardChrasets.ISO_8859_1
的引用。根据StandardCharsets文档,它在Java7之前并不存在。