2

J'essaie d'importer Apache POI sur Atlassian Jira Plugin pour lire des fichiers Excel.Utilisation d'Apache POI avec Apache Felix

Au début, j'ai commencé avec l'ajout juste

<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 est 3,14

puis quand j'ai commencé le plugin, il a donné

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) 

Je pom avec quelques edited instructions que j'ai trouvées sur une autre question 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> 

Avec cette configuration, j'obtiens cette erreur;

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

Y a-t-il quelqu'un qui a une idée?

Répondre

1

Enfin, j'ai trouvé une solution.

J'ai ajouté ce que la dépendance

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

Et aussi ajouté ce sont à l'intérieur de l'étiquette Import-Package

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

C'est tout.

+0

Salut Omer, J'utilise Mix Service et essayer de lire le xlsx en utilisant POI, mais je reçois l'erreur suivante: ** Causée par: java.lang.ClassCastException: org.apache.xerces.stax. XMLEventFactoryImpl ne peut pas être converti en javax.xml.stream.XMLEventFactory à javax.xml.stream. XMLEventFactory.newInstance (XMLEventFactory.java: 30) sur org.apache.poi.openxml4j.opc.internal.marshallers. PackagePropertiesMarshaller. (PackagePropertiesMarshaller.java:41)** Cependant. quand je crée un projet Java séparé et que je lis xlsx, cela fonctionne parfaitement. – Umer

+0

Salut Umer, je n'ai pas d'expérience avec Service Mix et je ne peux rien dire sans voir votre implémentation. Si vous pouvez ouvrir une nouvelle question pour votre problème, je pense que quelqu'un va vous aider. Bonne chance! –