@Inject funktioniert nicht

unknown

Bekanntes Mitglied
Hallo zusammen

Ich habe ein Problem, mit @Inject:

[Java]@Inject
BeispielRepository beispielRepository;[/Java]

Sowohl das Interface "BeispielRepository" als auch dessen Implementation "BeispielRepositoryImpl" sind in einem anderen Folder, bzw. Projekt. Ich habe dieses Projekt im "Root-" Pom als Modul des Gesamtprojekts definiert:

[Java]...
<module>custom/beispiel-event</module>
...[/Java]

In Eclipse schein alles zu klappen. Durch Maven kann ich das Projekt ebenfalls fehlerfrei Builden.

Das Problem taucht erst beim Deployen auf Weblogic auf:

[Java]org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [BeispielRepository] with qualifiers [@Default] at injection point [[field] @Inject com.impl.MyServiceImpl.beispielRepository]😱rg.jboss.weld.exceptions.DeploymentException:WELD-001408 Unsatisfied dependencies for type [BeispielRepository] with qualifiers [@Default] at injection point [[field] @Inject com.impl.MyServiceImpl.beispielRepository.][/Java]

Komischerweise kann ich mein WAR-File builden, wenn ich @Inject durch @EJB ersetze. Aber ich kann/darf @EJB nicht brauchen. Ausserdem möchte ich wissen, wieso es mit @Inject nicht funktioniert.
 
Hey,

wie sieht denn die Klasse "BeispielRepository" aus? Ist sie richtig annotiert und befindet sich in dem Modul eine beans.xml?
Sobald du externe jar´s benutzt, in denen du auf CDI´s oder EJB Beans zugreifen möchtest, muss sich in dem META-INF Ordner eine leere beans.xml befinden.
Ansonsten werden diese nicht im JavaEE Container registriert. Darum auch die Exception. Er findet keine Bean mit diesem @Qualifier oder ähnlicher Entsprechung, da sie nicht registriert worden ist.

viele Grüße
Steven
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben