Bei der benutzerdefinierten Geotools-Plattform-Kompilierung (in der Tat OSGi-basiert) kompiliert eines der Module ordnungsgemäß, wenn ich versuche, es separat zu erstellen. Aber wenn ich das ganze Projekt baue - scheitert es an compile
stage mit dem Grund, dass es bestimmte Pakete / Klassen nicht finden kann. Aber die Abhängigkeit ist gut gelöst.
Hier ist die Abhängigkeit von pom.xml des Moduls:
%Vor%Der Teil des Buildfehlers von maven:
... \ geotools-osgi \ module \ erweiterung \ xsd \ xsd-core \ src \ main \ java \ org \ geotools \ xs \ bindings \ XSGroupBinding.java: [19,24] Paket org.picocon tainer existiert nicht
... \ geotools-osgi \ module \ Erweiterung \ xsd \ xsd-core \ src \ main \ java \ org \ geotools \ xml \ AbstractComplexBinding.java: [20,24] Paket org.picocon tainer existiert nicht
... \ geotools-osgi \ module \ erweiterung \ xsd \ xsd-core \ src \ main \ java \ org \ geotools \ xml \ ComplexBinding.java: [21,24] Paket org.piccontainer existiert nicht
wenn ich die Abhängigkeit pom.xml ändere - es scheitert mit irgendeiner Art von "Bündel nicht auflösen".
Das Projekt ist wirklich groß und die Anzahl der Bundles und Kinder / Elternteile. Ich kann also nicht alle hier posten. Meine Frage ist also: Was ist der mögliche Grund für diese Art von Ärger? Könnte es sich um einen Abhängigkeitskonflikt zwischen Eltern / Kind handeln?
Nun, der eigentliche Grund war, dass der Zielcomputer den eingeschränkten Zugang zum Internet hatte, also den eingeschränkten Zugriff auf die maven repos. Mit etwas Schwarzmagie scheiterte es nicht mit irgendeiner Art von "kann Artefakt nicht herunterladen" (vielleicht wegen der manuellen Installation einiger JAR-Dateien). Also haben wir den Server mit normalem Zugriff bekommen, haben ihn als Spiegel eingerichtet, unseren Maven so konfiguriert, dass er den Spiegel benutzt und das hat das Problem gelöst. Danke @Samuel für die Teilnahme an meinem Problem, aber wie ich sehen kann, war es nicht möglich, das Problem von der Problembeschreibung zu bestimmen.
Ich kann zwei Dinge sehen, um zu versuchen, es zu lösen.
Erstens, wenn Sie in Ihr lokales .m2 Repo gehen, werden Sie sehen, ob es andere Versionen der lib gibt (jedoch können manchmal verschiedene Versionen einen anderen Namen haben und deshalb in einem anderen Ordner gespeichert werden, was nicht der Fall ist Hilfe)
Sie können auch überprüfen, welche IST-Abhängigkeit in Ihrer IDE oder in der Befehlszeile (mvn-Abhängigkeit: Baum) verwendet wird. Möglicherweise müssen Sie einige transitive Abhängigkeiten ausschließen, um konsistent zu bleiben. Ich benutze das Eclipse-Plugin dafür.
Wenn Sie sich der von Ihnen verwendeten Abhängigkeit sicher sind, können Sie das Jar öffnen und sehen, ob das, was Sie dort erwarten, vorhanden ist.
Tags und Links dependencies maven osgi