Frühling Komponente scan für geschachtelte jar
Im Grunde habe ich diese Outer.jar, erklärt es ist eine Anwendung, die Kontext mit einer Komponente scan:
<context:component-scan
base-package="x.y.z.class" />
Jedoch diese x.y.z.class
ist in einem inner.jar das ist eine Abhängigkeit von outer.jar,
Ich erhalte eine Fehlermeldung, dass die Klasse nicht gefunden .../Outer.jar/x/y/z/class
, wie Sie angeben können, um zu überprüfen, in der inner.jar?
UPDATE:
Initialisieren der Anwendung Kontext:
org.springframework.context.ApplicationContext ctx =
new ClassPathXmlApplicationContext("applicationContext.xml");
exception: I/O failure during classpath scanning; nested exception is java.io.FileNotFoundException: ..\default\deploy\test.war\WEB-INF\lib\inner.jar\x\y\z
and it says inner.jar/x/y/z/class not found
Outer.jar hat inner.jar wie die Abhängigkeit
InformationsquelleAutor mel3kings | 2013-11-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie sicher, inner.jar (oder was auch immer Sie es nennen) gibt es auf Ihren Klassenpfad ein (entweder durch das hinzufügen maven-dependency, eclipse-Projekt Einstellungen, mit -cp jvm-BefehlszeilenArgumente, etc.), und gerade finden Sie den package-Namen der Klassen innerhalb inner.jar Sie einschließen möchten.
Auch sicher, dass Sie nicht bekommen, verwirrt zwischen Glas -, Basis-Paket und voll-qualifizierten Klassennamen. Wenn ich eine Klasse
com.mycoolcompany.service.Booya
innen Blah.jar, in der Regel brauche ich nur tunGewährleisten und Blah.jar ist auf dem übergeordneten Projekt classpath
Aktualisiert meine Antwort mit weiteren Infos über jar, Paket und Klasse
funktioniert immer noch nicht 🙁
können Sie erläutern, wie Sie sicherstellen Gläser sind vorhanden in den classpath und die richtige Klasse Paket-name setup-Komponente Scannen?
vergessen, um den setup-web.xml für die spring-context-loader Hörer. ist jetzt arbeiten. Danke!
InformationsquelleAutor gerrytan
, Wenn Sie sicher sind, dass Sie das Glas unter den classpath und immer noch deine Klasse ist nicht autowired.
Sind Sie sicher, dass diese Klassen versehen sind, richtig??
Denn was passiert, wenn Sie sagen
component-scan
Frühling versucht zu finden-Klassen versehen mit@Component
oder Subtypen von compnenets wie@Service
usw.Meine Vermutung ist, dies ist Ihre Dritte Partei, die Abhängigkeit, die möglicherweise nicht annotierten Klassen.
In diesem Fall sollten Sie definieren
beans
manuell im application-Kontext.HTH
InformationsquelleAutor Anuj Patel