Problemas com CDI

Boa Tarde Galera. estou começando com JSF, e me deparei com o seguinte problema

Tudo estava funcionando perfeitamente, só que começei a pesquisar sobre cdi com Weld e TomCat.

Criei as Seguintes classes:

[code]public class DAO implements Serializable {

private final Class<T> classe;

@Inject
private EntityManager em;

} [/code]

public class DAOFactory {

	@Produces
	public DAO create(InjectionPoint injectionPoint) {
		ParameterizedType type = (ParameterizedType) injectionPoint.getType();
		Class classe = (Class) type.getActualTypeArguments()[0];
		return new DAO(classe);
	}
}
@Named
@SessionScoped
public class ProdutoBean implements Serializable {

	private Produto produto = new Produto();

	private List<Produto> produtos;

	@Inject
	private DAO<Produto> dao;
}

e agora está dando essa excessão

[lcode]WARNING: /profissional.xhtml @21,24 value="#{produtoBean.produto.descricao}": Target Unreachable, identifier ‘produtoBean’ resolved to null
javax.el.PropertyNotFoundException: /profissional.xhtml @21,24 value="#{produtoBean.produto.descricao}": Target Unreachable, identifier ‘produtoBean’ resolved to null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
at javax.faces.component.UIInput.validate(UIInput.java:960)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
at javax.faces.component.UIInput.processValidators(UIInput.java:698)
at javax.faces.component.UIForm.processValidators(UIForm.java:253)
at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:510)
at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1612)
at javax.faces.component.UIForm.visitTree(UIForm.java:371)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:378)
at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:253)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:183)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1171)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
[/code]

Se alguem puder me ajudar eu ficaria muito grato…

Você colocou a lib do weld no projeto ?
Tomcat não processa cdi.

Posta as outras classes.

Obrigado pelas respostas… Coloquei a lib sim

minhas libs são

antlr-2.77.jar
dom4j-1.6.1.jar
hibernate-commons-annotations-4.0.1.Final.jar
hibernate-core-4.1.9.Final.jar
hibernate-entitymanager-4.1.9.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
javassist-3.17.1-GA.jar
javax.faces-2.1.17.jar
javax.servlet.jsp.jstl-api-1.2.1.jar
jboss-logging-3.1.0.GA.jar
jboss-transaction-api_1.1_spec-1.0.0.Final.jar
mysql-connector-java-5.1.12-bin.jar
primefaces-3.4.2.jar
weld-servlet-1.1.8.jar

e o resto das classes é só o modelo

@Entity
public class Cidade implements Modelo {
	
	@Id
	@GeneratedValue
	private Long id;
	
	private String cidade;
	
	@Enumerated(EnumType.STRING)
	private UF uf;
}

criou o beans.xml ?

Criei o bean.xml na pasta META-INF com conteudo vazio

segue meu web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">
	<display-name>Sistema</display-name>
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.xhtml</url-pattern>
	</servlet-mapping>	
	<listener>
		<listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
	</listener>
</web-app>

e o arquivo de configuração do weld no tomcat ? o context.xml ?

criei na pasta META-INF do WebContent

<Context>
	<Resource name="BeanManager" auth="Container"
		type="javax.enterprise.inject.spi.BeanManager" factory="org.jboss.weld.resources.ManagerObjectFactory" />
</Context>

a versão do seu tomcat tem suporte a CDI ? experimenta colocar isto no webxml :

<resource-env-ref>
<resource-env-ref-name>BeanManager</resource-env-ref-name>
<resource-env-ref-type>javax.enterprise.inject.spi.BeanManager</resource-env-ref-type>
</resource-env-ref>

Estou com o tomCat7 e adicionei no web.xml e continua no mesmo

como esta o import de @SessionScoped ?

opss…tava errado mesmo tava importando import javax.faces.bean.SessionScoped; então troquei para import javax.enterprise.context.SessionScoped;
e tambem deu o mesmo erro.

Pra fazer um teste e lendo a respeito achei que é melhor mudar para @ViewScoped e importei de import javax.faces.bean.ViewScoped;
e continua o mesmo erro.

opss…tava errado mesmo tava importando import javax.faces.bean.SessionScoped; então troquei para import javax.enterprise.context.SessionScoped;
e tambem deu o mesmo erro.

Pra fazer um teste e lendo a respeito achei que é melhor mudar para @ViewScoped e importei de import javax.faces.bean.ViewScoped;
e continua o mesmo erro.