[jboss-jira] [JBoss JIRA] (WFLY-13641) WFLYWELD0055: Could not index class [Someclass] from an external bean archive: vfs:/somepath/myear.ear/myejb-0.0.1.jar/META-INF/beans.xml

Matěj Novotný (Jira) issues at jboss.org
Thu Jul 9 09:03:01 EDT 2020


    [ https://issues.redhat.com/browse/WFLY-13641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14209837#comment-14209837 ] 

Matěj Novotný commented on WFLY-13641:
--------------------------------------

[~jviebig] awesome, thanks!

I started debugging and I can see that inside {{ExternalBeanArchiveProcessor}} we already see ear/ejb.jar as a module dependency of the WAR which is why we start processing it.
We see it as [{{DependencySpec}}|https://github.com/wildfly/wildfly/blob/master/weld/subsystem/src/main/java/org/jboss/as/weld/deployment/processors/ExternalBeanArchiveProcessor.java#L168] which is a class from [jboss-modules|https://github.com/jboss-modules/jboss-modules/blob/1.x/src/main/java/org/jboss/modules/DependencySpec.java#L37] that allows some introspection.

Namely it has bunch of import/export filters and specifically the import filter _might_ be used to determine whether we want to process that dependency (because it differs based on how you specify that dependency in jboss-deployment-structure).
E.g. we should be able to test whether that filter accepts "META-INF" and skip processing if it doesn't. Although I am not sure if that's a proper way to solve this issue.
I will try to play with it a little more today/tomorrow and see if it breaks something else.

> WFLYWELD0055: Could not index class [Someclass] from an external bean archive: vfs:/somepath/myear.ear/myejb-0.0.1.jar/META-INF/beans.xml
> -----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WFLY-13641
>                 URL: https://issues.redhat.com/browse/WFLY-13641
>             Project: WildFly
>          Issue Type: Bug
>          Components: CDI / Weld
>    Affects Versions: 20.0.0.Final
>            Reporter: Jens Viebig
>            Assignee: Matěj Novotný
>            Priority: Major
>
> When referencing a jar with CDI scan mode "annotaded" inside an ear from an external war via jboss-deployment-structure.xml a warning will be printed for every class:
> WFLYWELD0055: Could not index class [Someclass] from an external bean archive: vfs:/somepath/myear.ear/myejb-0.0.1.jar/META-INF/beans.xml
> Seems VFS cannot get hold of the classes.
> The warning is logged in ExternalBeanArchiveProcessor which catches an EOFException from the inputstream loading the class. (Line 284). Seems the input stream is not able to load a single byte from the class



--
This message was sent by Atlassian Jira
(v7.13.8#713008)



More information about the jboss-jira mailing list