fehlende Anforderung osgi.die Verdrahtung.Paket; (osgi.die Verdrahtung.Paket=org.apache.http)

Will ich mit HttpClient in meinem Projekt.

pom.xml

............. 
<dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient-osgi</artifactId>
            <version>4.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4.4</version>
        </dependency>
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <_wab>src/main/webapp/</_wab>
                        <Bundle-SymbolicName>
                            ${project.groupId}.${project.artifactId}
                        </Bundle-SymbolicName>
                        <Import-Package>
                            *,!com.google.gson
                        </Import-Package>
                        <Embed-Dependency>gson</Embed-Dependency>
                        <Export-Package>
                            org.apache.http.HttpEntity
                        </Export-Package>
                        <Web-ContextPath>${web.context}</Web-ContextPath>
                    </instructions>
                </configuration>
            </plugin>
..................

Fehlermeldung:

java.lang.IllegalStateException: Can 'T install" - Funktion test - /0.0.0: 
Konnte nicht gestartet werden, bundle-mvn:ttt/test/1.0-SNAPSHOT Funktion(en) testen-1.0-SNAPSHOT: nicht aufgelöstes Einschränkung in ttt bundle.test [234]: Unable to resolve 234.0: fehlende Anforderung [234.0] osgi.die Verdrahtung.Paket; (osgi.die Verdrahtung.Paket=org.apache.http)

Dachte ich, es gibt einige Fehler, die in „build“, aber ich habe keine Ahnung, zu lösen.

InformationsquelleAutor CliffYen | 2016-01-27



3 Replies
  1. 0

    Nehme ich an, dass diese Frage im Zusammenhang zu osgi und Ihre osgi-Containers basiert auf Karaf (weil du spricht von ‚feature‘).

    Es ist nicht im Zusammenhang mit dem erstellen von Bundles : man sollte auch die Bereitstellung Ihrer benötigten Laufzeiten von Abhängigkeiten in den container (karaf) : in der Funktion zu testen, fügen Sie ein <bundle> tag für jedes bundle, das Sie brauchen, zur Laufzeit (mit Abhängigkeit=true), oder fügen Sie eine Abhängigkeit von einem feature, das bereits die Installation dieser Pakete.

    Außerdem, Sie sollten nicht Export-Package: org.apache.http.HttpEntity : es ist nicht ein Paket, sondern eine Klasse, und das Paket „org.apache.http“ wird von einem anderen bundle.

  2. 0

    Bessere Rat ist, verwenden Sie httpclient statt httpclient-osgi, weil httpclient-osgi ist ein bundle, es bedeutet, bevor Ihr bundle zu starten ,müssen Sie beginnen httpclient-osgi, es bringt einige problem(müssen Sie auch setzen httpclient-von osgi-features). wenn Ihre Funktion nur verwenden Sie einen http-client, verwenden httpclient ist genug.nur stellen Sie die Abhängigkeit im Quellcode ist ok~

  3. -1

    Zu installieren, müssen Sie die HTTP-client-bundle oder legen Sie es in Ihrem feature.xml – Datei, wenn Sie kar Datei

    bundle:install mvn:org.apache.httpcomponents/httpclient-osgi/4.5.1
    • Dies kann die korrekte Antwort, aber bitte fügen Sie weitere details zu klären es.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.