2016-11-30 2 views
0

Ich kann die javaMail-1.5-Funktion in Ordnung mit dem folgenden Befehl "installUtility installieren javaMail-1.5" auf meinem laufenden Liberty-Server installieren und den Anweisungen folgen.Nicht in der Lage, javaMail-1.5-Funktion in Freiheit über server.xml zu installieren

jedoch nach der Freiheit Dokumentation soll ich in der Lage sein, es zu installieren, indem Sie die folgenden meine server.xml Config im Feature tag: Java Mail-1.5

Dies funktioniert nicht, und ich sehe die folgend Fehler in den Startprotokollen des Servers: [11/30/16 1: 22: 43: 342 UTC] 00000021 ID = com.ibm.ws.kernel.feature.internal.FeatureManager E CWWKF0042E: Eine Funktionsdefinition kann nicht für die gefunden werden Javamail-1.5-Funktion. Versuchen Sie, den Befehl bin/installUtility install javamail-1.5 auszuführen, um die Funktion zu installieren. Alternativ können Sie den Befehl bin/installUtility-Installationsauthentifizierung ausführen, um alle Funktionen zu installieren, auf die von dieser Konfiguration verwiesen wird.

Mein Server Details sind wie folgt:

product = WebSphere Application Server 16.0.0.3 (WLP-1.0.14.cl160320160831-1555)

java.version = 1.8.0 java.runtime = Java (TM) SE Laufzeitumgebung (pxa6480sr3fp20-20161019_02 (SR3 FP20))

Hat jemand eine Idee, warum das nicht funktioniert?

+0

Ich denke, Sie verwirren "eine Funktion zu installieren" und "eine Funktion zu aktivieren". Durch Ausführen von 'installUtility' wird die Funktion auf Ihrem System installiert. Setzen Sie ' javaMail-1.5' innerhalb Ihrer '' - Tags aktiviert die Funktion für den Server. Ein Feature muss installiert sein, bevor es auf einem Server aktiviert werden kann. Der Fehler, den Sie sehen, ist im Grunde gesagt "Sie versuchen, diese Funktion zu aktivieren, aber wir können nicht, weil Sie die Funktion noch nicht installiert haben". –

Antwort

1

Wenn das Feature nicht installiert wurde, müssen Sie installUtility verwenden, um es wie erwähnt zu installieren.

Der Fehler ist ein Hinweis darauf, dass das Feature - denke Binärdateien - nicht auf dem System, d. H. Nicht installiert wurde.

Wenn Sie es in Ihrer server.xml angeben, wird die Laufzeitumgebung für die Verwendung konfiguriert. Aber es wird die Funktion nicht automatisch für Sie installieren. Die server.xml ist eine Server-Laufzeitkonfiguration.

Jetzt können Sie versuchen installUtility install <yourServer> oder installUtility install <pathToServerXml>, die installUtility überprüfen Sie Ihren Server oder server.xml und installieren Sie alle Features, die nicht bereits auf dem System installiert sind.

+0

Vielen Dank für Ihre Antwort, ich führe Liberty in einem Docker enthalten, weshalb ich versuche, es als Teil des Starts zu installieren, jedoch konnte ich meine Skripte ändern, um die Funktion im Voraus zu installieren. Ich stoße jetzt auf ein Problem, bei dem der Feature-Manager die Installation der Features nicht beendet, nachdem der Server bereits versucht hat, meine osgi-Anwendung zu laden, die auch in der Datei server.xml definiert ist: Gibt es eine Möglichkeit, die Befehle im Server zu bestellen.XML, damit der Feature-Manager vor dem Aufruf beendet wird, um die App zu starten? – Adam

+0

können Sie Ihre ursprüngliche Frage mit dem Skript aktualisieren, das Sie verwenden möchten? Der Befehl installUtility wird erst zurückgegeben, wenn die Installation des Features abgeschlossen ist. Wenn Sie die Befehle sequentiell in ein Skript einfügen, sollte es funktionieren. –

0

Ich denke, Sie können die documentation for the featureManager command, die durch die installUtility command ersetzt wurde verwirren. Wenn Sie dem featureManager-Element Ihrer server.xml eine Funktion hinzufügen, wird die Funktion nicht aktiviert, sondern aktiviert. Um ein Feature in server.xml zu aktivieren, müssen Sie es zuerst mit einer der beschriebenen Methoden here installieren.

+0

Vielen Dank für Ihre Antwort, ich habe Liberty in einem Docker enthalten, weshalb ich versuche, es als Teil des Starts zu installieren, jedoch war ich in der Lage, meine Skripte zu ändern, um die Funktion im Voraus zu installieren. Ich stoße jetzt auf ein Problem, bei dem der Feature-Manager die Installation der Features nicht beendet, nachdem der Server bereits versucht hat, meine osgi-Anwendung zu laden, die auch in der Datei server.xml definiert ist: Gibt es eine Möglichkeit, die Befehle in der Datei server.xml so zu ordnen, dass der Feature Manager vor dem Aufruf beendet wird, um die App zu starten? – Adam

+0

Das sollte nicht möglich sein. Wenn das passiert, sollten Sie eine PMR aufbringen. – Alasdair

+0

Wie Alasdair sagte, sollte die von Ihnen beschriebene Situation nicht möglich sein. Die deklarative Services-Komponente von Liberty sollte immer alle Funktionen bereitstellen, die von Ihren Apps benötigt werden, bevor Sie Ihre App starten. Aber Sie haben gesagt: "Der Feature-Manager schließt die Installation der Features nicht ab, nachdem der Server bereits versucht hat, sie zu laden ..." Denken Sie daran, dass der Feature-Manager keine Features installiert, sie aktiviert und wie Sie bereits sagten, müssen Sie das Feature installieren bevor Sie den Server starten, auf dem Sie FeatureManager für die Verwendung konfiguriert haben. Können Sie einige Protokolle veröffentlichen, die zeigen, warum Sie denken, dass dies geschieht? –

Verwandte Themen