When attempting to run Cruise Control as a service (in this case on Windows 7, 64bit) I receive the error:
com.thoughtworks.xstream.converters.ConversionException: Cannot construct net.sourceforge.cruisecontrol.BuildLoopInformation as it does not have a no-args constructor
The full error message is:
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
Turns out that something in Java 7 doesn't play nice, so just rollback to Java 6.
It might be a little difficult to get Java 6 since it is not provided on Java official website.
Instead of installing Java 6, I used the method described in this blog:CruiseControl 2.8.4 and JDK7:
or replace xstream-1.2.2.jar and xpp3_min-1.1.3.4.O.jar files both in lib/ and ebapps/dashboard/WEB-INF/lib/ with xstream-1.4.1.jar and kxml2-2.3.0.jar respectively.
It worked!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With