Javax.inject does not exist

9 respostas
mateus.cordeiro

Não sei o que acontece, não tem o javax.inject.Named;
Dá seguinte mensagem: javax.inject does not exist.
Como resolve isso?

Obrigado

9 Respostas

luxu

se naum me engano essa é uma anotação do Spring, te que ser um jar dele…

mateus.cordeiro

Eu importei os jar do Spring mas ainda não resolveu!

mateus.cordeiro

Ainda não consegui resolver isso!
Alguém pode me ajudar?

Obrigado

D

Sou bem iniciante no assunto, mas localizei esse pacote com a classe Named.class numa biblioteca do GlassFish em weld-osgi-bundle.jar.
Que servidor de aplicação você está utilizando?
Espero ter ajudado…

D

@PessoALL,

andei pesquisando sobre o Spring / Spring 3 reconhecer a Annotation @Inject (e tb a @Named) e, pelo o q observei, devemos baixar (e adicionar no Classpath) o javax.inject-x.x.x.jar file.

Eu executei este mesmo procedimento, porem não consegui fazer o das referidas @s (tão pouco é reconhecido o pacote javax.inject). :oops:
Será q preciso fazer + alguma coisa??! Plz, help me/us!!!

zehlavras

Uai cara, se você adicionou o jar no classpath é só fazer o import que era para funcionar.

Exemplo:

import javax.inject.Inject;
import javax.inject.Named;

D

(Desculpe p/ demora, galera)

@zehlavras,
Vlws p/ resposta.

Na verdade, isto já tinha funfado aki.. Eu apenas não tive tempo p/ dar o feedBack!! :oops:

Pois bem: antes tarde do q nunca: Apenas criei 1 lib 'InjectionJSR330'(c/ o 'javax.inject.jar'). Eis o meu DomainService:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UsuarioServiceFcd {
    private UsuarioRepo usuarioRepo;
    
    @Autowired
    public UsuarioServiceFcd(UsuarioRepo usuarioRepo) {
        setUsuarioRepo(usuarioRepo);
    }
    ...
}
Eis o meu frontController:
import javax.annotation.Resource;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;

//@Controller("pages$usuario$UsuarioManter")//
@Scope("request") // session
@Named("pages$usuario$UsuarioManter")//
@Singleton
public class UsuarioManter extends AbstractPageBean { // 
    private Usuario usuario;
    @Resource//(name = "usuarioServiceFcd")
    //@Inject
    private UsuarioServiceFcd usuarioServiceFcd;
    @Inject
    //@Autowired
    private UsuarioProvider usuarioProvider;
    ...
}
Detalhe: percebam q a @Resource funciona praticamente igual à @Inject. A diferença é muito sutil: a @Resource permite q vc injete qq objeto (inclusive 1 Collection, ou 1 array, p/ex.) q possa estar, digamos, no JNDI. Outro detalhe é q a @Resource [color=red]não[/color] suporta (por motivos obvios) injeção em atributo static.
V

Galera achei a solução, é só adicionar esse jar na lib do projeto que funfa nice demais, segue o link abaixo para o Download do JAR:

http://www.java2s.com/Code/Jar/j/Downloadjavaxinjectjar.htm

See yah!!! :wink:

adriano_si

Bacana cara, só tome o cuidado pra não ressuscitar tópicos muito antigos (como é o caso desse aqui) que até já foram resolvidos.

Criado 1 de dezembro de 2011
Ultima resposta 3 de dez. de 2014
Respostas 9
Participantes 7