O projeto do curso configurei e funcionou sem problemas, consegui terminar e fazer todas as tarefas ali ministradas. O caso é que resolvi implementar o CDI em um outro projeto, um webservice, objetivando consolidar o conhecimento apreendido. Pois já tentei um bocado e não consegui ainda fazer o CDI funcionar.
Uso o tomcat8 e abaixo encontram-se as configurações aplicadas:
pom.xml
<!-- https://mvnrepository.com/artifact/org.jboss.weld.servlet/weld-servlet -->
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet</artifactId>
<version>2.4.6.Final</version>
</dependency>
META_INF/context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="BeanManager"
auth="Container"
type="javax.enterprise.inject.spi.BeanManager"
factory="org.jboss.weld.resources.ManagerObjectFactory"/>
</Context>
WEB-INF/beans.xml
<beans>
</beans>
Classe que apresenta o Erro
package br.com.arptec.wsmanager.migracao;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import br.com.arptec.manager.modelo.ErrorCode;
import br.com.arptec.manager.modelo.Operacao;
import br.com.arptec.manager.modelo.Sistema;
import br.com.arptec.manager.service.ManagerException;
public class SistemaService1 {
@Inject
private SistemaDao1 sistemaDao;
private List<String> erros = new ArrayList<String>();
private String todosOsErros = "";
public List<String> getErros() {
return erros;
}
. . . Código omitido . . .
public List<Sistema> trasListaComSistemasExistentes() {
return sistemaDao.listaTodos(); // ESSA LINHA QUE DÁ O ERRO POIS sistemaDao não foi injetado
// return new SistemaDao().listaTodos();
}