簡體   English   中英

Jasperreports OSGI(保險絲/牛皮)

[英]Jasperreports OSGI (fuse/karaf)

一直試圖在OSGI(Jboss Fuse / Karaf)環境中使用Jaspereports。

我找不到jaspereports 6.3.0的OSGI工件。 當我嘗試包裝jar時,我從非OSGI依賴項(例如itext)中得到錯誤。

有沒有辦法在OSGI環境中使用它?

我已經打包到OSGi Bunlde,您可以在這里找到:

https://github.com/liveSense/org.liveSense.framework.jasperreports

它是一個舊版本(4.5.0),但是可以用,我已經用於生產系統。

pom.xml的更新版本如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.livesense</groupId>
<artifactId>jasperreports</artifactId>
<version>6.3.0</version>

<packaging>bundle</packaging>
<name>liveSense :: Framework :: Jasper reports</name>
<description>
    liveSense Jasper report framework
</description>

<build>
    <plugins>

        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                    <_exportcontents>
                        net.sf.jasperreports.*;version=6.3.0
                    </_exportcontents>
                    <Import-Package>
                        com.apple.mrj.*;resolution:=optional,
                        com.lowagie.toolbox.*;resolution:=optional,
                        javax.mail.*;resolution:=optional,
                        junit.*;resolution:=optional,
                        antlr.*;resolution:=optional,
                        bsh.*;resolution:=optional,
                        jxl.*;resolution:=optional,
                        mondrian.*;resolution:=optional,
                        net.sourceforge.barbecue.*;resolution:=optional,
                        com.adobe.xmp.*;resolution:=optional,
                        org.apache.batik.*;resolution:=optional,
                        org.apache.poi.*;resolution:=optional,
                        org.apache.lucene.*;resolution:=optional,
                        org.apache.tools.ant.*;resolution:=optional,
                        org.apache.velocity.*;resolution:=optional,
                        org.codehaus.jackson.*;resolution:=optional,
                        org.eclipse.jdt.*;resolution:=optional,
                        org.exolab.castor.*;resolution:=optional,
                        org.hibernate.*;resolution:=optional,
                        org.jaxen.*;resolution:=optional,
                        org.krysalis.barcode4j.*;resolution:=optional,
                        org.springframework.beans.factory.*;resolution:=optional,
                        org.springframework.core.io.*;resolution:=optional,
                        org.w3c.dom.svg.*;resolution:=optional,
                        org.apache.commons.javaflow.*;resolution:=optional,
                        org.mozilla.javascript.*;resolution:=optional,
                        com.google.zxing.*;resolution:=optional,
                        org.olap4j.*;resolution:=optional,
                        *
                    </Import-Package>


                    <!-- bundle supplied resource prefixes -->
                    <Include-Resource>{maven-resources}</Include-Resource>

                    <!-- Do not inline jars, include as jar files -->
                    <!-- There are config files with same name will be overwritten -->
                    <Embed-Dependency>*;scope=compile;inline=false</Embed-Dependency>


                </instructions>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>

    <!-- Embedded dependencies -->
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.lowagie</groupId>
        <artifactId>itext</artifactId>
        <version>2.1.7</version>
    </dependency>
    <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>1.0.19</version>
    </dependency>
    <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jcommon</artifactId>
        <version>1.0.23</version>
    </dependency>
</dependencies>
</project>

在部署中,我使用了以下捆綁包(在karaf 4.0.1中)-我認為保險絲並不需要全部,因為已安裝的功能包含其中一些捆綁包。

bundle:install -s mvn:commons-io/commons-io/1.4
bundle:install -s mvn:commons-collections/commons-collections/3.2.1
bundle:install -s mvn:commons-lang/commons-lang/2.6
bundle:install -s mvn:commons-beanutils/commons-beanutils/1.8.3
bundle:install -s mvn:commons-digester/commons-digester/2.1
bundle:install -s mvn:commons-codec/commons-codec/1.6
bundle:install -s mvn:commons-pool/commons-pool/1.5.6
bundle:install -s mvn:commons-dbutils/commons-dbutils/1.3
bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-codec/1.3_2
bundle:install -s mvn:org.apache.commons/commons-math/2.2
bundle:install -s mvn:commons-dbcp/commons-dbcp/1.4
bundle:install -s mvn:commons-fileupload/commons-fileupload/1.2.2
bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/3.1_6
bundle:install -s mvn:org.apache.httpcomponents/httpcore-osgi/4.4.5
bundle:install -s mvn:org.apache.httpcomponents/httpclient-osgi/4.5.1
bundle:install -s mvn:org.bouncycastle/bcprov-jdk16/1.46
bundle:install -s mvn:org.bouncycastle/bcprov-ext-jdk16/1.46
bundle:install -s mvn:org.bouncycastle/bctsp-jdk16/1.46
bundle:install -s mvn:org.bouncycastle/bcmail-jdk16/1.46
bundle:install -s mvn:org.codehaus.groovy/groovy-all/1.8.2
bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/2.7.1_6
bundle:install -s mvn:com.ibm.icu/icu4j/49.1
bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/5.2_4
bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/2.7.1_4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM