4

As part of SmartTarget 2014 I'm installing Fredhopper 7.5 revision 14. Following the instructions here

Everything is fine until step 9. After I install the API extensions and restart the qserver running on the index server, I see the following in the fredhopper\data\instances\indexer1\log\qserver.log:

2014-07-25 10:19:49,319 INFO [main] Starting service Catalina 2014-07-25 10:19:49,319 INFO [main] Starting Servlet Engine: Apache Tomcat/7.0.42 2014-07-25 10:19:49,458 INFO [localhost-startStop-1] Deploying web application archive D:\apps\fredhopper\data\instances\indexer1\tomcat\webapps\fredhopper.war 2014-07-25 10:20:23,044 INFO [localhost-startStop-1] Initializing REST SEO extensions... 2014-07-25 10:20:25,580 INFO [localhost-startStop-1] Initiating Jersey application, version 'Jersey: 1.18 11/22/2013 01:21 AM' 2014-07-25 10:20:26,058 INFO [localhost-startStop-1] Instantiated the Application class com.fredhopper.config.RESTConfigurationApplication 2014-07-25 10:20:27,638 ERROR [localhost-startStop-1] StandardWrapper.Throwable java.lang.NoClassDefFoundError: org/jvnet/jaxb2_commons/lang/Copyable at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:792) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1190) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2521) at java.lang.Class.privateGetPublicMethods(Class.java:2641) at java.lang.Class.getMethods(Class.java:1457) at com.sun.jersey.core.reflection.MethodList.getMethods(MethodList.java:77) at com.sun.jersey.core.reflection.MethodList.<init>(MethodList.java:64) at com.sun.jersey.core.reflection.MethodList.<init>(MethodList.java:60) at com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller.createResource(IntrospectionModeller.java:118) at com.sun.jersey.server.impl.application.WebApplicationImpl.getAbstractResource(WebApplicationImpl.java:769) at com.sun.jersey.server.impl.application.WebApplicationImpl.getAbstractResource(WebApplicationImpl.java:763) at com.sun.jersey.server.impl.application.WebApplicationImpl.createAbstractResourceModelStructures(WebApplicationImpl.java:1590) at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1356) at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:491) at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:321) at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:376) at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:559) at javax.servlet.GenericServlet.init(GenericServlet.java:160) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1653) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: java.lang.ClassNotFoundException: org.jvnet.jaxb2_commons.lang.Copyable at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) ... 53 more 2014-07-25 10:20:27,640 ERROR [localhost-startStop-1] Servlet /fredhopper threw load() exception java.lang.ClassNotFoundException: org.jvnet.jaxb2_commons.lang.Copyable at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:792) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1190) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2521) at java.lang.Class.privateGetPublicMethods(Class.java:2641) at java.lang.Class.getMethods(Class.java:1457) at com.sun.jersey.core.reflection.MethodList.getMethods(MethodList.java:77) at com.sun.jersey.core.reflection.MethodList.<init>(MethodList.java:64) at com.sun.jersey.core.reflection.MethodList.<init>(MethodList.java:60) at com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller.createResource(IntrospectionModeller.java:118) at com.sun.jersey.server.impl.application.WebApplicationImpl.getAbstractResource(WebApplicationImpl.java:769) at com.sun.jersey.server.impl.application.WebApplicationImpl.getAbstractResource(WebApplicationImpl.java:763) at com.sun.jersey.server.impl.application.WebApplicationImpl.createAbstractResourceModelStructures(WebApplicationImpl.java:1590) at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1356) at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795) at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790) at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:491) at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:321) at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605) at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:376) at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:559) at javax.servlet.GenericServlet.init(GenericServlet.java:160) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1653) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) 2014-07-25 10:20:27,984 INFO [localhost-startStop-1] Deploying web application archive D:\apps\fredhopper\data\instances\indexer1\tomcat\webapps\heatmap.war 2014-07-25 10:20:28,259 INFO [localhost-startStop-1] Deploying web application archive D:\apps\fredhopper\data\instances\indexer1\tomcat\webapps\preview.war 2014-07-25 10:20:32,719 INFO [localhost-startStop-1] Location of FAS Webservice is 'http://localhost:8180/fredhopper-ws/services/FASWebService?wsdl' 2014-07-25 10:20:32,721 INFO [localhost-startStop-1] Web root initialized to '../' 2014-07-25 10:20:32,723 INFO [localhost-startStop-1] SEO root initialized to '../' 2014-07-25 10:20:32,727 INFO [localhost-startStop-1] Deploying web application archive D:\apps\fredhopper\data\instances\indexer1\tomcat\webapps\ROOT.war 2014-07-25 10:20:34,759 INFO [localhost-startStop-1] Initializing SOAP SEO extensions... 2014-07-25 10:20:35,594 INFO [localhost-startStop-1] Deploying web application archive D:\apps\fredhopper\data\instances\indexer1\tomcat\webapps\status.war 2014-07-25 10:20:35,807 INFO [main] Starting ProtocolHandler ["http-nio-8180"] 2014-07-25 10:20:35,821 INFO [main] Starting ProtocolHandler ["http-nio-8181"] 2014-07-25 10:20:35,823 INFO [main] Starting ProtocolHandler ["http-nio-8182"] 2014-07-25 10:20:35,825 INFO [main] Starting ProtocolHandler ["http-nio-8183"] 2014-07-25 10:20:35,827 INFO [main] Starting ProtocolHandler ["http-nio-8184"] 2014-07-25 10:20:35,829 INFO [main] Server startup in 46529 ms

There are no errors logged by the qserver before adding the API extensions. Has anyone else seen this? Is this a bug or are the docs wrong here?

1

1 Answer 1

6

I currently do not have access to the LiveContent documentation page, so the following information is from the top of my head:

  • SmartTarget 2014 installations that use an on-premise installation of Fredhopper are advised to use FAS 7.5.0.16, which is contained in fredhopper-7.5-revision-13 (i.e., not fredhopper-7.5-revision-14, which contains FAS 7.5.1.0).
  • The error you're seeing is very probably because of an incompatibility with configuration-management-rest-extension-1.0. Version 1.0 of this extension is compatible only with FAS 7.5.0.x, whereas version 1.1 is compatible only with FAS 7.5.1.x.
  • Thus, you should either:
    1. Use fredhopper-7.5-revision-13 instead of fredhopper-7.5-revision-14.
    2. Use configuration-management-rest-extension-1.1 instead of configuration-management-rest-extension-1.0.

The first option is very much recommended, because SmartTarget 2014 was extensively tested with FAS 7.5.0.16.

1
  • Using 7.5-revision-13 resolved the issue. Thanks!
    – oic
    Jul 28, 2014 at 13:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.