2016-06-07 10 views
0

Wie fügt man eine Abhängigkeit in das Projekt ein? OSGI + POI Zur Ausführungszeit dieser CodeWie man org.apache.poi zu Karafa hinzufügt

import org.apache.poi.ss.usermodel.WorkbookFactory 

Workbook wb = WorkbookFactory.create(originalStream); 

Nach diesen Code ausführen, wirft Fehler

Method threw 'java.lang.ClassNotFoundException' exception. 
org.apache.poi.ss.usermodel.WorkbookFactory not found by wrap_mvn_org.apache.poi_poi_3.11 [761] 

Meine pom.xml Abhängigkeit

<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi-ooxml-schemas</artifactId> 
    <version>3.11</version> 
</dependency> 
<dependency> 
     <groupId>org.apache.xmlbeans</groupId> 
     <artifactId>xmlbeans</artifactId> 
     <version>2.6.0</version> 
</dependency> 
<dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>ooxml-schemas</artifactId> 
     <version>1.1</version> 
</dependency> 
<dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi</artifactId> 
     <version>3.11</version> 
</dependency> 
<dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>3.11</version> 
</dependency> 

      <plugin> 
      <groupId>org.apache.felix</groupId> 
      <artifactId>maven-bundle-plugin</artifactId> 

      <version>${maven-bundle-plugin.version}</version> 
      <extensions>true</extensions> 
      <configuration> 
       <instructions> 
        <DynamicImport-Package>*</DynamicImport-Package> 
       </instructions> 
      </configuration> 
     </plugin> 

Bandle karaf Installation hinzufügen:

bundle:install wrap:mvn:org.apache.poi/poi/3.11 
bundle:install wrap:mvn:org.apache.poi/poi-ooxml/3.11 
bundle:install wrap:mvn:org.apache.poi/poi-ooxml-schemas/3.11 
bundle:install wrap:mvn:org.apache.poi/ooxml-schemas/1.1 

Alle Bundles in Karaf erfolgreich installieren und

+0

Achtung org.apache.poi.ss.usermodel.WorkbookFactory nicht von wrap_mvn_org.apache.poi_poi_3.11 [761] Suche nicht bündeln –

+2

Vielleicht sollten Sie verwenden, um den OSGi-Bundle von poi provided by ServiceMix (org gefunden. apache.servicemix.bundles/org.apache.servicemix.bundles.poi/3.14_1) –

+2

Warum sind Sie auf eine alte Version von Apache POI angewiesen? Was passiert, wenn Sie auf das neueste upgraden? – Gagravarr

Antwort

1

Alexandre Cartapanis laufen Sie hatten recht

Vielleicht sollten Sie das OSGi-Bundle von poi von ServiceMix bereitgestellt verwenden (org.apache.servicemix.bundles/org .apache.servicemix.bundles .poi/3.14_1)

Vielen Dank an alle.

Verwandte Themen