maven löst die Abhängigkeit, kann aber das Paket / die Klassen nicht finden

8

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?

    
Alex Stybaev 12.04.2012, 11:47
quelle

3 Antworten

1

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.

    
Alex Stybaev 08.05.2012, 10:52
quelle
5

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.

    
Samuel EUSTACHI 12.04.2012 12:35
quelle
0

Ich hatte das gleiche Problem. Mein Problem war, dass die Abhängigkeit getestet wurde. Als ich also exec: java ausgab, konnte es die Klasse nicht finden, weil sie nicht in der Reichweite war.

    
BuBu 09.09.2017 11:43
quelle

Tags und Links