I have a standalone spring application that mainly contains aspecj aspects and several other spring managed beans and is bundled with a maven-assembly plugin with all the spring dependencies that are part of the bank and added to the path to the weblog class.
The goal is to have aspects inside the library woven into all running applications inside weblogic at runtime using the aspectJ agent.
The problem is that when I add my jar file to the classpath and restart the server, I get a ClassNotFoundException when deploying an existing web application.
I know that this is not a jar file that is not in the lib folder, since the application deploys fine without my jar file in the classpath.
Note. I also get a classNotFoundException when I just throw the spring jar files into the / lib domain folder.
Can you highlight why my spring library affects application performance?
See the stacktrace table below: I am sure that javax.validation.ValidatorFactory is in validation-api inside the WEB-INF \ lib folder. since I get this exception only when I add my custom jar file to the weblogic class path.
Caused By: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.springframework.validation.beanvalidation.LocalValidatorFactoryBean] for bean with name 'jsr303Validator' defined in ServletContext resource [/WEB-INF/config/webmvc-config.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1272) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:578) at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1338) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:356) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:335) at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:187) at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:895) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:853) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:768) at org.s Caused By: java.lang.ClassNotFoundException: javax.validation.ValidatorFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java
Here is the dependency tree of my WAR file.
[INFO] [dependency:tree {execution: default-cli}] [INFO] com.company.project:eCom4jWeb:war:1.0.0-SNAPSHOT [INFO] +- com.company.project:eCom4jCore:jar:1.0.0-SNAPSHOT:compile [INFO] | +- org.springframework:spring-jdbc:jar:3.1.2.RELEASE:compile [INFO] | +- org.hsqldb:com.springsource.org.hsqldb:jar:1.8.0.9:runtime [INFO] | +- mysql:mysql-connector-java:jar:5.1.9:compile [INFO] | +- org.hibernate:com.springsource.org.hibernate:jar:3.3.2.GA:compile [INFO] | | +- net.sourceforge.cglib:com.springsource.net.sf.cglib:jar:2.2.0:compile [INFO] | | +- org.antlr:com.springsource.antlr:jar:2.7.6:compile [INFO] | | +- org.apache.commons:com.springsource.org.apache.commons.collections:jar:3.2.1:compile [INFO] | | +- org.dom4j:com.springsource.org.dom4j:jar:1.6.1:compile [INFO] | | +- org.jboss.javassist:com.springsource.javassist:jar:3.9.0.GA:compile [INFO] | | \- org.objectweb.asm:com.springsource.org.objectweb.asm:jar:1.5.3:compile [INFO] | +- org.hibernate:com.springsource.org.hibernate.annotations:jar:3.4.0.GA:compile [INFO] | | \- org.hibernate:com.springsource.org.hibernate.annotations.common:jar:3.3.0.ga:compile [INFO] | +- org.hibernate:hibernate-validator:jar:4.2.0.Final:compile [INFO] | | +- javax.validation:validation-api:jar:1.0.0.GA:compile [INFO] | | \- org.slf4j:slf4j-api:jar:1.6.1:compile [INFO] | +- javax.transaction:com.springsource.javax.transaction:jar:1.1.0:compile [INFO] | +- commons-beanutils:commons-beanutils:jar:1.8.3:compile [INFO] | +- net.sf.dozer:dozer:jar:5.3.1:compile [INFO] | \- org.apache.xmlbeans:xmlbeans:jar:2.4.0:runtime [INFO] | \- stax:stax-api:jar:1.0.1:runtime [INFO] +- com.company.project:eCom4jWS:jar:1.0.0-SNAPSHOT:compile [INFO] | +- com.company.project:eCom4jRemixDomain:jar:1.0.0-SNAPSHOT:compile [INFO] | | \- org.jvnet.jaxb2_commons:jaxb2-basics-runtime:jar:0.6.2:compile [INFO] | \- org.springframework:spring-oxm:jar:3.1.2.RELEASE:compile [INFO] +- javax.servlet:jstl:jar:1.2:compile [INFO] +- org.springframework.security:spring-security-web:jar:3.1.2.RELEASE:compile [INFO] | \- aopalliance:aopalliance:jar:1.0:compile [INFO] +- org.springframework.security:spring-security-taglibs:jar:3.1.2.RELEASE:compile [INFO] | \- org.springframework.security:spring-security-acl:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework:spring-webmvc:jar:3.1.2.RELEASE:compile [INFO] | +- org.springframework:spring-asm:jar:3.1.2.RELEASE:compile [INFO] | \- org.springframework:spring-context-support:jar:3.1.2.RELEASE:compile [INFO] +- javax.servlet:servlet-api:jar:2.5:provided [INFO] +- org.springframework:spring-beans:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework.webflow:spring-binding:jar:2.2.1.RELEASE:compile [INFO] +- org.springframework.webflow:spring-js:jar:2.2.1.RELEASE:compile [INFO] | \- org.springframework.webflow:spring-js-resources:jar:2.2.1.RELEASE:compile [INFO] +- org.springframework.webflow:spring-webflow:jar:2.2.1.RELEASE:compile [INFO] +- org.springframework.security:spring-security-config:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework.security:spring-security-core:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework:spring-tx:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework:spring-web:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework:spring-aop:jar:3.1.2.RELEASE:compile [INFO] +- commons-logging:commons-logging:jar:1.1.1:compile [INFO] +- org.springframework:spring-core:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework:spring-orm:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework:spring-context:jar:3.1.2.RELEASE:compile [INFO] +- javax.el:el-api:jar:1.0:provided [INFO] +- org.jboss.el:com.springsource.org.jboss.el:jar:2.0.0.GA:compile [INFO] +- org.apache.tiles:tiles-core:jar:2.1.4:compile [INFO] | +- commons-digester:commons-digester:jar:1.8.1:compile [INFO] | \- commons-logging:commons-logging-api:jar:1.1:compile [INFO] +- org.apache.tiles:tiles-jsp:jar:2.1.4:compile [INFO] +- org.apache.tiles:tiles-api:jar:2.1.4:compile [INFO] +- org.apache.tiles:tiles-servlet:jar:2.1.4:compile [INFO] +- org.springframework:spring-test:jar:3.1.2.RELEASE:test [INFO] +- org.springframework:spring-expression:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework:spring-test-mvc:jar:1.0.0.BUILD-SNAPSHOT:test [INFO] +- org.powermock:powermock-module-junit4:jar:1.4.12:test [INFO] | \- org.powermock:powermock-module-junit4-common:jar:1.4.12:test [INFO] | +- org.powermock:powermock-core:jar:1.4.12:test [INFO] | | \- org.javassist:javassist:jar:3.16.1-GA:test [INFO] | \- org.powermock:powermock-reflect:jar:1.4.12:test [INFO] +- org.powermock:powermock-api-easymock:jar:1.4.12:test [INFO] | \- org.powermock:powermock-api-support:jar:1.4.12:test [INFO] +- org.codehaus.jackson:jackson-mapper-asl:jar:1.5.3:compile [INFO] | \- org.codehaus.jackson:jackson-core-asl:jar:1.5.3:compile [INFO] +- com.jayway.jsonpath:json-path:jar:0.8.1:test [INFO] | \- net.minidev:json-smart:jar:1.1.1:test [INFO] +- org.aspectj:com.springsource.org.aspectj.weaver:jar:1.6.8.RELEASE:compile [INFO] +- org.slf4j:com.springsource.slf4j.api:jar:1.5.6:compile [INFO] +- org.slf4j:com.springsource.slf4j.org.apache.commons.logging:jar:1.5.6:runtime [INFO] +- org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6:runtime [INFO] +- org.apache.log4j:com.springsource.org.apache.log4j:jar:1.2.15:compile [INFO] +- org.apache.commons:com.springsource.org.apache.commons.dbcp:jar:1.2.2.osgi:runtime [INFO] +- org.apache.commons:com.springsource.org.apache.commons.pool:jar:1.5.3:runtime [INFO] +- org.hamcrest:hamcrest-all:jar:1.3:compile [INFO] +- junit:junit:jar:4.8.1:test (scope not updated to compile) [INFO] +- org.easymock:easymock:jar:3.1:test [INFO] | +- cglib:cglib-nodep:jar:2.2.2:test [INFO] | \- org.objenesis:objenesis:jar:1.2:test [INFO] +- commons-lang:commons-lang:jar:2.6:compile [INFO] +- org.apache.struts:struts2-core:jar:2.2.1:compile [INFO] | +- org.apache.struts.xwork:xwork-core:jar:2.2.1:compile [INFO] | +- org.freemarker:freemarker:jar:2.3.16:compile [INFO] | +- ognl:ognl:jar:3.0:compile [INFO] | +- commons-fileupload:commons-fileupload:jar:1.2.1:compile [INFO] | +- commons-io:commons-io:jar:1.3.2:compile [INFO] | \- com.sun:tools:jar:1.5.0:system [INFO] +- org.apache.struts:struts2-tiles-plugin:jar:2.2.1:compile [INFO] +- org.apache.struts:struts2-spring-plugin:jar:2.2.1:compile [INFO] +- javax.mail:mail:jar:1.4:compile [INFO] | \- javax.activation:activation:jar:1.1:compile [INFO] \- net.tanesha.recaptcha4j:recaptcha4j:jar:0.0.7:compile [INFO] -------
thanks
Sammy source share