web-dev-qa-db-fra.com

Où trouver le pot @Inject

Je suis les instructions de test unitaire MVC de ce site , mais je ne trouve pas le bocal pour le @Inject annotation. Quelqu'un sait-il où se trouve le pot?

38
Adi Sembiring

Via Maven:

<dependency>
  <groupId>javax.inject</groupId>
  <artifactId>javax.inject</artifactId>
  <version>1</version>
</dependency>

Ou depuis la page d'accueil du projet: http://code.google.com/p/atinject/

En outre, cette page MvnRepository.com fournit les configurations nécessaires pour d'autres outils de construction comme Ivy, Gradle etc.

69

En utilisant javaee-api au lieu de javax.inject J'ai rencontré un tas de problèmes.

Après quelques recherches, j'ai découvert que vous devez l'ajouter avec la portée fournie, sinon il ajoutera un écouteur (com.Sun.faces.config.ConfigureListener) lors de l'exécution.

Un autre problème est que, apparemment, la mise en œuvre à injecter est différente. Champs annotés de @inject est resté nul. En remplaçant le pot Sun officiel par le javax.inject, cela ne s'est plus produit.

Notez que je ne suis pas un expert, je risque de rencontrer des effets secondaires, mais comprendre cela m'a pris tellement de temps, que je sentais que je devais partager mes résultats jusqu'à présent.

8
SaW

Vous pouvez utiliser l'officiel de Sun:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
</dependency>

À votre santé!

4
Darko Vasilev