Ich habe ein Maven-Projekt (Proj1). In meiner Java-Klasse muss ich die Methode eines anderen Maven Proj (proj2) aufrufen.Java-Projektabhängigkeit von einem anderen Projekt
Hier bekomme ich verschiedene Kompilierzeitfehler, da diese Methode in meinem aktuellen Projekt (proj1) nicht verfügbar ist. Um das zu lösen, habe ich ganzen Methodencode genommen und diese Methode in meine aktuelle Java-Klasse eingefügt. Jetzt ist diese Methode in meinem Projekt verfügbar. Aber dann ruft diese Methode wieder wenig anderen Code aus anderen Klassen auf, die in meinem aktuellen Projekt nicht mehr verfügbar sind. Wieder musste ich den gesamten abhängigen Code aus anderen Klassen kopieren und einfügen. Dies geht weiter und weiter und zirkuläre Abhängigkeit ist da so gerade gefragt, wie ich diesen Fehler beheben kann. Ich habe einige Optionen, um dies zu beheben.
- Nehmen Quelle aller Klassen von proj2 macht ein Glas aus, dass und schließt, dass Glas in meinem Classpath Dieses paar Fehler behoben, aber dann gibt es einige Klassen von Dritten Gläsern, die noch Fehler geben.
- Jetzt plane ich für die zweite Option, in der ich pom.xml für proj2 habe. Ich baue daraus bauen. So dass alle notwendigen Gläser aus dem Repository heruntergeladen werden. Ausgabe dieses proj ist wieder jar namens proj2.jar.
Nun meine Frage ist
- Wenn ich nur proj2.jar in meinem Code enthalten, dann wird es alle die Abhängigkeit lösen?
- ODER Ich muss manuell alle Gläser in proj1 Klassenpfad hinzufügen, die dort in proj2 sind
- ODER muss ich src proj2 sowie Gläser aus proj2.jar hinzufügen?
- ODER gibt es einen besseren Weg als die oben genannten Optionen?
fügen Sie ihn einfach als eine Abhängigkeit in Ihrer pom.xml und Maven wird damit umgehen. Das ist im Grunde, wofür Maven ist. – Stultuske
Hey danke für deine Antwort. Also im Grunde muss ich nur Projekt2 erstellen, die proj2.jar erstellen und dann diese JAR-Datei in proj1 Klassenpfad hinzufügen? Hab ich recht? – Sachin
nein. Sie müssen nur Ihr Projekt2 in Ihrem Repository haben und der pom.xml Ihres anderen Projekts mitteilen, dass eine Abhängigkeit von Ihrem Projekt besteht2. Beim Erstellen wird das Projekt2 aus dem Repository abgerufen und dem lokalen Repository hinzugefügt. Es muss nun – Stultuske