Cruise Control service error: Cannot construct net

2019-04-26 12:57发布

问题:

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

回答1:

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!



回答2:

Turns out that something in Java 7 doesn't play nice, so just rollback to Java 6.