2

Я пытаюсь импортировать POI Apache в Atlassian Jira Plugin для чтения файлов excel.Использование Apache POI с Apache Felix

В начале, я начал с добавлением только

<dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi</artifactId> 
     <version>${poi.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml-schemas</artifactId> 
     <version>${poi.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>${poi.version}</version> 
    </dependency> 

poi.version 3.14

тогда, когда я начал плагин он дал

Unresolved constraint in bundle com.tezExtensions [165]: Unable to resolve 165.0: missing requirement [165.0] osgi.wiring.package; (osgi.wiring.package=com.sun.javadoc) 

Тогда я отредактированный POM с некоторыми инструкции, которые я нашел в другом вопросе StackOverflow Pax Exam issue with Apache POI wrapped bundle

<instructions> 
        <Atlassian-Plugin-Key>${atlassian.plugin.key}</Atlassian-Plugin-Key> 
        <!-- Add package to export here --> 
        <Export-Package>com.sony.poc.api,</Export-Package> 
        <_exportcontents> 
         org.apache.poi.*;version=${poi.version}, 
         org.openxmlformats.schemas.*;version=${poi.schema.version}, 
         schemasMicrosoftComOfficeExcel.*;version=${poi.schema.version}, 
         schemasMicrosoftComOfficeOffice.*;version=${poi.schema.version}, 
         schemasMicrosoftComOfficePowerpoint.*;version=${poi.schema.version}, 
         schemasMicrosoftComVml.*;version=${poi.schema.version}, 
         org.etsi.uri.*;version=${poi.security.version} 
        </_exportcontents> 
        <!-- Add package import here --> 
        <Import-Package> 
         com.sun.javadoc;resolution:=optional, 
         com.sun.tools.javadoc;resolution:=optional, 
         org.apache.crimson.jaxp;resolution:=optional, 
         org.apache.tools.ant;resolution:=optional, 
         org.apache.tools.ant.taskdefs;resolution:=optional, 
         org.apache.tools.ant.types;resolution:=optional, 
         junit.framework.*;resolution:=optional, 
         junit.textui.*;resolution:=optional, 
         org.junit.*;resolution:=optional, 
         org.apache.xml.security.*;resolution:=optional, 
         org.apache.jcp.xml.dsig.internal.dom.*;resolution:=optional, 
         org.springframework.osgi.*;resolution:="optional", org.eclipse.gemini.blueprint.*;resolution:="optional", *</Import-Package> 
        <DynamicImport-Package> 
         org.apache.xmlbeans.*, 
         schemaorg_apache_xmlbeans.* 
        </DynamicImport-Package> 

С этой конфигурацией я получаю эту ошибку;

Unable to resolve 165.0: missing requirement [165.0] osgi.wiring.package; (osgi.wiring.package=org.apache.xml.resolver) 

Есть ли у кого-нибудь идеи?

ответ

1

Наконец-то я нашел решение.

Я добавил это в зависимости

<dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi</artifactId> 
     <version>${poi.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-scratchpad</artifactId> 
     <version>${poi.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>${poi.version}</version> 
     <exclusions> 
      <exclusion> 
       <groupId>stax</groupId> 
       <artifactId>stax-api</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>xml-apis</groupId> 
       <artifactId>xml-apis</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>org.codehaus.woodstox</groupId> 
     <artifactId>woodstox-core-asl</artifactId> 
     <version>4.4.1</version> 
    </dependency> 

А также добавил это к внутренней части импорта-пакет тега

*;resolution:=optional, com.ctc.wstx.stax.* 

Это все.

+0

Привет Омер, Я использую Service Mix и пытается читать XLSX, используя POI, но я получаю следующее сообщение об ошибке: ** вызвано следующими причинами: java.lang.ClassCastException: org.apache.xerces.stax. XMLEventFactoryImpl не может быть добавлен к javax.xml.stream.XMLEventFactory в javax.xml.stream. XMLEventFactory.newInstance (XMLEventFactory.java: 30) at org.apache.poi.openxml4j.opc.internal.marshallers. PackagePropertiesMarshaller. (PackagePropertiesMarshaller.java:41)** Однако. когда я создаю отдельный проект java и читаю xlsx, он отлично работает. – Umer

+0

Привет Умер, у меня нет опыта работы с Service Mix, и я ничего не могу сказать, не увидев вашу реализацию. Если вы можете открыть новый вопрос для своей проблемы, я думаю, что кто-то поможет вам. Удачи! –

Смежные вопросы