2016-06-07 6 views
0

Как добавить зависимость в проект? OSGI + POI Во время выполнения этого кодаКак добавить org.apache.poi в Karafa

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

Workbook wb = WorkbookFactory.create(originalStream); 

После выполнения этого кода, выбрасывает ошибку

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

Мой pom.xml Добавить зависимость

<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:

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 

Все пакеты в Karaf успешной установки и запуска

+0

Внимание не org.apache.poi.ss.usermodel.WorkbookFactory найдены wrap_mvn_org.apache.poi_poi_3.11 [761] Поиск не связывайте –

+2

Может быть, вы должны использовать OSGi пучок пои предоставленный ServiceMix (орг. apache.servicemix.bundles/org.apache.servicemix.bundles.poi/3.14_1) –

+2

Почему вы в зависимости от старой версии Apache POI? Что происходит при обновлении до новейшего? – Gagravarr

ответ

1

Alexandre Cartapanis вы были правы

Может быть, вы должны использовать OSGi пучок пои предоставленный ServiceMix (org.apache.servicemix.bundles/орг .apache.servicemix.bundles .poi/3.14_1)

Спасибо всем.