• Skip to primary navigation
  • Skip to content

Mauda

IT, Java and Music

Graduação   SCJP   Mestrado
  • Apresentação
  • Certificação Java
  • JPA
    • Exceptions
  • JSF
  • Versionamento
  • Contato

CDI – Erro – WELD-000123 – java.lang.ClassNotFoundException

November 26, 2018 by Mauda Leave a Comment

Conteúdo do Post:
  1. Descrição do Erro
  2. Solução
  3. finally{

Olá Pessoal, tudo bom?

Hoje iremos falar sobre o erro WELD-000123 ou quando o weld não consegue achar a classe declarada no arquivo beans.xml. Veja na continuação

Descrição do Erro

Quando estamos declarando um interceptor, dentro do arquivo beans.xml devemos colocar com a tag <interceptors> a declaração desse interceptor. Só que se você não colocar o package e o nome da classe corretamente ocorrerá uma exception.  Vamos supor o código abaixo:

Java
1
2
3
4
5
6
7
8
9
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                           http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" bean-discovery-mode="all">
 
<interceptors>
<class>br.com.mauda.seminario.cientificos.interceptor.CronometroInterceptorERRADO</class>
</interceptors>
</beans>

Como a declaração do interceptor está com o nome ERRADO, ocorrerá a exception com a seguinte stack trace:

Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-000123: Error loading br.com.mauda.seminario.cientificos.interceptor.CronometroInterceptorERRADO defined in <class>br.com.mauda.seminario.cientificos.interceptor.CronometroInterceptorERRADO</class> in file:/seminarioscientificos/cientificos/target/classes/META-INF/beans.xml@8
at org.jboss.weld.bootstrap.enablement.GlobalEnablementBuilder$ClassLoader.apply(GlobalEnablementBuilder.java:279)
at org.jboss.weld.bootstrap.enablement.GlobalEnablementBuilder.createModuleEnablement(GlobalEnablementBuilder.java:198)
at org.jboss.weld.bootstrap.BeanDeployment.createEnablement(BeanDeployment.java:234)
at org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:415)
at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:76)
at org.jboss.weld.environment.se.Weld.initialize(Weld.java:785)
at br.com.mauda.seminario.cientificos.util.WeldContext.<init>(WeldContext.java:11)
at br.com.mauda.seminario.cientificos.util.WeldContext.<clinit>(WeldContext.java:8)
… 47 more
Caused by: java.lang.ClassNotFoundException: br.com.mauda.seminario.cientificos.interceptor.CronometroInterceptorERRADO
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.jboss.weld.environment.deployment.WeldResourceLoader.classForName(WeldResourceLoader.java:40)
at org.jboss.weld.bootstrap.enablement.GlobalEnablementBuilder$ClassLoader.apply(GlobalEnablementBuilder.java:277)
… 54 more

Solução

A solução para esse problema é arrumar o nome do package ou classe que está errado, conforme o código abaixo:

Java
1
2
3
4
5
6
7
8
9
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                           http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" bean-discovery-mode="all">
 
<interceptors>
<class>br.com.mauda.seminario.cientificos.interceptor.CronometroInterceptor</class>
</interceptors>
</beans>

 

finally{

Caso você achou mais alguma solução para essa exception, por favor deixe nos comentários abaixo!

Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!

Até um próximo post!

Filed Under: CDI, Java Tagged With: beans.xml, cdi, ClassNotFoundException, interceptor, WELD-000123

About Mauda

Mestre em Informática, Analista de Sistemas, Professor, SCJP e Baterista. Desde 2002 trabalhando no mundo Java e ensinando pessoas sobre desenvolvimento de sistemas. Mais informações

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Copyright © 2025 · Genesis Framework · WordPress · Log in