cancel
Showing results for 
Search instead for 
Did you mean: 

ClassNotFoundException while loading class from extension spring context file

brijeshnk
Star Contributor
Star Contributor

Guys  , 

I created a sample class registered in spring xml file in the folder(tomcat\shared\classes\alfresco\extension)  

packaged a class in a jar file and copied into  folder - tomcat\webapps\alfresco\WEB-INF\lib

When i restarted , i got  following exceptions(ClassNotFoundException) in Tomcat logs , is there any config or settings i need to have for loading the class.

It seems like Spring is unable to load this class from class path or lib directory

followings are log snippets -

2020-02-18 11:24:13,535 INFO [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1] complete
2020-02-18 11:24:17,170 INFO [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'sysAdmin' subsystem, ID: [sysAdmin, default]
2020-02-18 11:24:17,203 INFO [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'sysAdmin' subsystem, ID: [sysAdmin, default] complete
2020-02-18 11:24:18,057 WARN [context.support.XmlWebApplicationContext] [localhost-startStop-1] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.tutorialspoint.HelloWorld] for bean with name 'helloWorld' defined in file [C:\alfresco-content-services\tomcat\shared\classes\alfresco\extension\move-monthily-data-context.xml]; nested exception is java.lang.ClassNotFoundException: com.tutorialspoint.HelloWorld
2020-02-18 11:24:18,103 WARN [factory.support.DisposableBeanAdapter] [localhost-startStop-1] Invocation of destroy method failed on bean with name 'serverConnector': java.lang.NullPointerException
2020-02-18 11:24:19,176 INFO [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Stopping 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1]
2020-02-18 11:24:19,177 INFO [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Stopped 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1]
2020-02-18 11:24:19,177 INFO [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Stopping 'sysAdmin' subsystem, ID: [sysAdmin, default]
2020-02-18 11:24:19,178 INFO [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Stopped 'sysAdmin' subsystem, ID: [sysAdmin, default]
2020-02-18 11:24:19,190 ERROR [web.context.ContextLoader] [localhost-startStop-1] Context initialization failed
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.tutorialspoint.HelloWorld] for bean with name 'helloWorld' defined in file [C:\alfresco-content-services\tomcat\shared\classes\alfresco\extension\move-monthily-data-context.xml]; nested exception is java.lang.ClassNotFoundException: com.tutorialspoint.HelloWorld
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1278)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:575)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1347)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:913)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:617)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:938)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:70)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5110)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5633)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:712)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:2002)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.tutorialspoint.HelloWorld
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:265)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:419)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1299)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1270)

2 ACCEPTED ANSWERS

angelborroy
Community Manager Community Manager
Community Manager

That should be working. Is that class included in the JAR copied to alfresco/WEB-INF/lib folder?

Hyland Developer Evangelist

View answer in original post

thanks for the reponse I have resolved it

I was doing something wrong while creating jar file . Class files were not packaged in jar along with package structure.

View answer in original post

3 REPLIES 3

angelborroy
Community Manager Community Manager
Community Manager

That should be working. Is that class included in the JAR copied to alfresco/WEB-INF/lib folder?

Hyland Developer Evangelist

thanks for the reponse I have resolved it

I was doing something wrong while creating jar file . Class files were not packaged in jar along with package structure.

EddieMay
World-Class Innovator
World-Class Innovator

Hi @brijeshnk,

Thanks for reporting back - it's helpful to other users. 

Digital Community Manager, Alfresco Software.
Problem solved? Click Accept as Solution!
Getting started

Explore our Alfresco products with the links below. Use labels to filter content by product module.