[
https://issues.jboss.org/browse/AS7-708?page=com.atlassian.jira.plugin.sy...
]
Richard Kennard commented on AS7-708:
-------------------------------------
To elaborate on this issue:
1. JBoss AS 7 appears to have some functionality that scans classes in JARs upon
deployment. Presumably it is looking for CDI/JPA/Bean Validation annotations (just a
guess).
2. This functionality fails if the classes being scanned refer to other classes (either
through field types or method parameters) that are not on the classpath. I do not believe
it is realistic to expect to go hunting through all classes in a JAR and that all of them
should resolve. It is quite common for a JAR to have optional dependencies.
3. JBoss AS 6 had (I think) a very similar scanning mechanism. There, you could configure
/server/default/deployers/scanning-deployers-jboss-beans.xml to ignore certain exceptions.
Many exceptions were ignored by default (including NoClassDefFoundError). I do not know
what the equivalent is in AS 7.
4. I attach a WAR that fails to deploy with the following error. Basically, Spring is not
on the classpath and metawidget-all.jar has an optional dependency on Spring. However AS 7
should be more forgiving if it is going to go calling Class.privateGetDeclaredFields():
13:03:04,475 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed
to start service jboss.deployment.unit."catch-demo.war".INSTALL:
org.jboss.msc.service.StartException in servi
ce jboss.deployment.unit."catch-demo.war".INSTALL: Failed to process phase
INSTALL of deployment "catch-demo.war"
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:108)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1675)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[:1.6.0_20]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[:1.6.0_20]
at java.lang.Thread.run(Thread.java:619) [:1.6.0_20]
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/MessageSource
at java.lang.Class.getDeclaredFields0(Native Method) [:1.6.0_20]
at java.lang.Class.privateGetDeclaredFields(Class.java:2291) [:1.6.0_20]
at java.lang.Class.getDeclaredFields(Class.java:1743) [:1.6.0_20]
at
org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:53)
at
org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:65)
at
org.jboss.as.ee.component.AbstractComponentDescription.prepareComponentConfiguration(AbstractComponentDescription.java:392)
at
org.jboss.as.ee.component.AbstractComponentDescription.createComponentConfiguration(AbstractComponentDescription.java:363)
at
org.jboss.as.ee.component.ComponentInstallProcessor.deployComponent(ComponentInstallProcessor.java:104)
at
org.jboss.as.ee.component.ComponentInstallProcessor.deploy(ComponentInstallProcessor.java:67)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:102)
... 4 more
Caused by: java.lang.ClassNotFoundException: org.springframework.context.MessageSource
from [Module "deployment.catch-demo.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:184)
[:1.0.0.Beta17]
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:357)
[:1.0.0.Beta17]
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:329)
[:1.0.0.Beta17]
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:306)
[:1.0.0.Beta17]
at
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:100)
[:1.0.0.Beta17]
... 14 more
Ability to specify classloading exceptions to ignore similar to
scanning-deployers-jboss-beans.xml
--------------------------------------------------------------------------------------------------
Key: AS7-708
URL:
https://issues.jboss.org/browse/AS7-708
Project: Application Server 7
Issue Type: Bug
Reporter: Jason Porter
Assignee: David Lloyd
We need to be able to specify exceptions to ignore during classpath scanning. This was
available in AS6, we need it in AS7, or something similar. Please see
https://issues.jboss.org/browse/SEAMFORGE-156
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira