Maven Abhängigkeiten für IBM-Websphere-Pakete
Ich versuche zu konvertieren, eine "klassische" JAVA-EE-Projekt mithilfe von IBM websphere 8.0.0.5, in einem maven multi-Modul-Projekt und die Probleme mit dem IBM-Abhängigkeiten.
Verwenden wir IBM-Klassen der folgenden Pakete aus:
- com.ibm.websphere.asynchbeans
- com.ibm.websphere.scheduler
- com.ibm.websphere.ce.cm
- com.ibm.ws.asynchbeans
- com.ibm.ws.util.ThreadPool
Meinen lokalen Projekt kompiliert werden, die ich heruntergeladen wurde.installer-Version 8.0.0.pm von IBM und installiert es auf meinem maven mit
mvn install -f "was.installer-8.0.0.pom" -D serverInstallationFolder="C:\Program Files (x86)\IBM\WebSphere\AppServer"
Dieser Schritt erfolgreich war laut Befehl line-Ausgang.
Ich dann noch folgende Abhängigkeiten zu meinem Projekt, wie beschrieben, von IBM:
In parent:
<dependency>
<groupId>com.ibm.tools.target</groupId>
<artifactId>was</artifactId>
<version>8.0.0</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
In Modul:
<dependency>
<groupId>com.ibm.tools.target</groupId>
<artifactId>was</artifactId>
</dependency>
Aber ich kann immer noch nicht kompilieren meines Projekts, wie die IBM-Pakete werden nicht gefunden.
Kann mir jemand helfen zu finden und korrigieren Sie einen Fehler, den ich gemacht?
Bearbeiten
Nach folgenden BevynQ Tipp aus den Kommentaren, die ich kopiert "was_public.jar" "was_public-8.0.0.jar" (beschrieben auf IBM hier) und fügte zu meinem repository:
mvn install:install-file -Dfile="C:\Program Files (x86)\IBM\WebSphere\AppServer\dev\was_public-8.0.0.jar" -DpomFile="C:\Program Files (x86)\IBM\WebSphere\AppServer\dev\was_public-8.0.0.pom"
Ich änderte dann die Abhängigkeiten an:
<dependency>
<groupId>com.ibm.websphere.appserver</groupId>
<artifactId>was_public</artifactId>
<version>8.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.ibm.websphere.appserver</groupId>
<artifactId>was</artifactId>
</dependency>
Dies dazu beigetragen, um die Zusammenstellung von Fehlern, die der Einfuhren um com.ibm.websphere
getan.
Was ich jetzt noch offen ist, die Pakete com.ibm.ws.*
Paket. Jemand eine Idee?
Edit 2
Ich habe Folgendes Abhängigkeit und dann war ich entfernen die com.ibm.ws.*
import-Fehler.
<dependency>
<groupId>com.ibm.websphere.ws</groupId>
<artifactId>com.ibm.ws.runtime</artifactId>
<version>1.0.0</version>
</dependency>
Aber es immer noch nicht kompilieren, wie jetzt indirekt Verweise nicht gefunden werden kann (in meinem Fall commonj.work.WorkManager
). Es scheint, ich muss hinzufügen, weitere .Gläser für jedes einzelne Ding. Gibt es nicht einen einfacheren Weg zu bieten, alle websphere-Gläser auf einmal, wie descirbe in dem oben verlinkten tutorial mit den com.ibm.tools
Abhängigkeit (die nicht funktioniert)?
Ich habe bearbeitet Sie meine Frage nach dem Versuch die beraten und ich konnte die
com.ibm.websphere
Pakete kompiliert werden, jedoch fehlen noch einige der com.ibm.ws
lieben. Wer weiß, wie um Sie zu bekommen?InformationsquelleAutor bish | 2016-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Allgemeinen
com.ibm.websphere
sind öffentliche API für die Verwendung durch Anwendungen (das gilt für die Pakete, die du oben aufgeführt), die im Einklang mit diesen Wesen inwas_public.jar
Jedoch
com.ibm.ws
Paket ist in der Regel Produkt-Interna. Darf ich Fragen, welches interface Methoden, die Sie verwenden, von dercom.ibm.ws.asynchbeans
Paket? Vielleicht gibt es eine öffentliche API alternative.Bezüglich
commonj.work
, der einzige Ort, den ich finden diese in der WebSphere Application Server-Produkt-Bild istWAS/plugins/com.ibm.ws.prereq.commonj-twm.jar
so sieht es aus wie Sie benötigen, zu verwenden, zu kompilieren gegen die.Zum Beispiel verwenden wir die
WorkManagerImpl
von dercom.ibm.ws.asynchbeans
Paket. Ich bin mir nicht sicher ob ich das "darf" zu ändern, die Bibliotheken, es ist ein produktiv-Modul und die migration von maven und CI (aktuelle Phase) ein Erster Schritt zum sammeln von Erfahrungen mit maven und in der Lage sein zu tun ist, CI in der Zukunft. Vielen Dank für den Hinweis, in welchem jar diecommonj
Dateien sind. Gestern bekam ich eine Mitteilung eines unternehmensweiten nexus, wo die ibm-Dateien so sind, dass ist ein Weg, den ich jetzt versuchen. Ich aber halte Ihre Antwort in Geist und respont, um es später wieder.InformationsquelleAutor njr
Hier ist die Lösung also löste ich meine Probleme mit Abhängigkeiten:
Abhängigkeiten in
pom.xml
(Versionsnummern extrahiert Eigenschaften):Sorry das ich nicht bieten kann eine "schöne" Lösung, nutzbar von allen Menschen, aber die Antwort von njr und der Kommentar von BevynQ geholfen, viel klarer, mit dem problem und half das problem zu lösen in eine "manuelle" Art und Weise durch das kopieren der benötigten Gläser von hand.
Ja, Sie wurden manuell Hinzugefügt
InformationsquelleAutor bish
War ich vor diesem Problem, als ich versuchte, Sie zu bauen, ein Projekt mit Maven version 3.3.9, läuft auf der Java-version 1.8.0_101, wie dargestellt, in der Abbildung:
Dies ist, wie ich es behoben: Schritt 1. Herunterladen commonj.jar von hier.
Schritt 2. Bestimmen Sie, welche JDK-Ihre Maven ist mit durch Eingabe
mvn -version
in der Eingabeaufforderung.Schritt 3. Gehen Sie zu diesem Verzeichnis und platzieren Sie den
commonj.jar
Datei gibt es in derjre/lib/ext
Verzeichnis, wie unten gezeigt. Nun ist Ihr Projekt aufbauen sollte, in maven ohne Probleme.InformationsquelleAutor Ebony Maw