巡航控制服务错误:无法构造net.sourceforge.cruisecontrol.BuildLoopInformat



当尝试将巡航控制作为一项服务运行时(本例中为Windows 7,64位),我收到错误:

com.thoughtworks.xstream.converters.ConversionException: Cannot construct net.sourceforge.cruisecontrol.BuildLoopInformation as it does not have a no-args constructor

完整的错误消息是:

INFO | jvm 1 | 2012/08/27 17:16:28 | 2012-08-27 17:16:28.262::WARN: /dashboard/buildloop/listener INFO | jvm 1 | 2012/08/27 17:16:28 | com.thoughtworks.xstream.converters.ConversionException: Cannot construct net.sourceforge.cruisecontrol.BuildLoopInformation as it does not have a no-args constructor INFO | jvm 1 | 2012/08/27 17:16:28 | ---- Debugging information ---- INFO | jvm 1 | 2012/08/27 17:16:28 | message : Cannot construct net.sourceforge.cruisecontrol.BuildLoopInformation as it does not have a no-args constructor INFO | jvm 1 | 2012/08/27 17:16:28 | cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException INFO | jvm 1 | 2012/08/27 17:16:28 | cause-message : Cannot construct net.sourceforge.cruisecontrol.BuildLoopInformation as it does not have a no-args constructor INFO | jvm 1 | 2012/08/27 17:16:28 | class : net.sourceforge.cruisecontrol.BuildLoopInformation INFO | jvm 1 | 2012/08/27 17:16:28 | required-type : net.sourceforge.cruisecontrol.BuildLoopInformation INFO | jvm 1 | 2012/08/27 17:16:28 | path : /buildloop INFO | jvm 1 | 2012/08/27 17:16:28 | line number : 1 INFO | jvm 1 | 2012/08/27 17:16:28 | ------------------------------- INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:63) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:117) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(ReferenceByXPathMarshallingStrategy.java:29) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:846) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:833) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.XStream.fromXML(XStream.java:781) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.XStream.fromXML(XStream.java:773) INFO | jvm 1 | 2012/08/27 17:16:28 | at net.sourceforge.cruisecontrol.util.BuildInformationHelper.toObject(BuildInformationHelper.java:32) INFO | jvm 1 | 2012/08/27 17:16:28 | at net.sourceforge.cruisecontrol.dashboard.web.BuildLoopController.handleRequestInternal(BuildLoopController.java:28) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:858) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441) INFO | jvm 1 | 2012/08/27 17:16:28 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) INFO | jvm 1 | 2012/08/27 17:16:28 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.Server.handle(Server.java:324) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) INFO | jvm 1 | 2012/08/27 17:16:28 | at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) INFO | jvm 1 | 2012/08/27 17:16:28 | Caused by: com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Cannot construct net.sourceforge.cruisecontrol.BuildLoopInformation as it does not have a no-args constructor INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.newInstance(PureJavaReflectionProvider.java:59) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.instantiateNewInstance(AbstractReflectionConverter.java:257) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:124) INFO | jvm 1 | 2012/08/27 17:16:28 | at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:56) INFO | jvm 1 | 2012/08/27 17:16:28 | ... 35 more

事实证明,Java 7中的某些功能不太好,所以只需回滚到Java 6即可。

获取Java 6可能有点困难,因为Java官方网站上没有提供它。

我没有安装Java6,而是使用了本博客中描述的方法:CruiseControl 2.8.4和JDK7:

或者将lib/和ebapps/dashboard/WEB-INF/lib/中的xstream-1.2.2.jar和xpp3_min-1.1.3.4.O.jar文件分别替换为xstream-14.1.jar和kxml2-2.3.0.jar。

成功了!

相关内容

  • 没有找到相关文章

最新更新