当前位置: 首页 > 知识库问答 >
问题:

我试图使用Maven创建一个OSGI包。我不能把罐子捆好

郁吉星
2023-03-14
Caused by: java.lang.NoClassDefFoundError: org/apache/camel/Processor
        at java.lang.ClassLoader.defineClass1(Native Method)[:1.8.0_162]
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)[:1.8.0_162]
        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2310)
        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2094)
        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1518)
        at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:79)
        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1958)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_162]
        at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1925)[org.apache.felix.framework-5.6.2.jar:]
        at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:978)
        at org.apache.aries.blueprint.container.BlueprintContainerImpl.loadClass(BlueprintContainerImpl.java:467)[28:org.apache.aries.blueprint.core:1.7.1]
        at org.apache.cxf.bus.blueprint.BlueprintBeanLocator.getClassForMetaData(BlueprintBeanLocator.java:73)
        at org.apache.cxf.bus.blueprint.BlueprintBeanLocator.getClassForMetaData(BlueprintBeanLocator.java:82)
        at org.apache.cxf.bus.blueprint.BlueprintBeanLocator.getBeansOfType(BlueprintBeanLocator.java:121)
        at org.apache.cxf.bus.extension.ExtensionManagerBus.initialize(ExtensionManagerBus.java:280)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_162]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_162]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_162]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_162]
        at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)
        at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)
        at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736)
        ... 28 more
Caused by: java.lang.ClassNotFoundException: org.apache.camel.Processor not found by ProductRouter [222]
        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1550)[org.apache.felix.framework-5.6.2.jar:]
        at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:79)[org.apache.felix.framework-5.6.2.jar:]
        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1958)[org.apache.felix.framework-5.6.2.jar:]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_162]
        ... 50 more  
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <artifactId>oktopus-integration</artifactId>
        <groupId>com.born</groupId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>

    <groupId>com.born</groupId>
    <artifactId>ProductRouter</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>bundle</packaging>

    <name>ProductRouter Blueprint Bundle</name>
    <description>ProductRouter OSGi blueprint bundle project.</description>

<dependencies>
        <dependency>
            <groupId>com.born</groupId>
            <artifactId>oktopus-common</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <!-- <scope>provided</scope> -->
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-blueprint</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.camel/camel-cxf -->
    <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-cxf</artifactId>
    <version>2.23.1</version>
    </dependency>
<dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-jackson</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
        </dependency>   
        <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk16 -->
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk16</artifactId>
        <version>1.45</version>
    </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-ws-security</artifactId>
        </dependency>
                        <!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20160212</version>
</dependency>





    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0</version>
    </dependency>

    <dependency>
    <groupId>org.apache.axis</groupId>
    <artifactId>axis</artifactId>
    <version>1.4</version>
</dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-bundle-jaxrs -->
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-bundle-jaxrs</artifactId>
    <version>2.6.0</version>
</dependency>


    </dependencies>


    <build>
        <plugins>
             <!--  ERP JAXB creation services -->
            <plugin>
                <groupId>org.jvnet.jaxb2.maven2</groupId>
                <artifactId>maven-jaxb2-plugin</artifactId>
                <version>0.14.0</version>
                <executions>
                    <execution>
                        <id>Netsuite services</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <wsdl>true</wsdl>
                            <xmlschema>false</xmlschema>
                            <schemaDirectory>src/main/resources/wsdl</schemaDirectory>
                            <schemaIncludes>
                                <include>*.wsdl</include>
                            </schemaIncludes>
                            <bindingDirectory>src/main/resources/wsdl</bindingDirectory>
                            <bindingIncludes>
                                <include>edu.xjb</include>
                            </bindingIncludes>
                            <schemaLanguage>WSDL</schemaLanguage>
                            <generatePackage>com.born.netsuite.stub</generatePackage>
                            <forceRegenerate>true</forceRegenerate>
                            <generateDirectory>gensrc</generateDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>   
           <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>

                <extensions>true</extensions>
                <configuration>
                    <instructions>

                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                        <Bundle-Version>${project.version}</Bundle-Version>
                        <Export-Package>"!com.born,*";version=${project.version}</Export-Package>

                        <Import-Package> "!com.born,*"</Import-Package>
                        <!-- <Embed-Dependency>*;scope= *</Embed-Dependency> -->
                         <Embed-Dependency>oktopus-integration,commons-lang,jaxws-api,json</Embed-Dependency>
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
Manifest-Version: 1.0
Bnd-LastModified: 1550813093689
Build-Jdk: 1.8.0_162
Built-By: Vishal.jagdale
Bundle-Blueprint: OSGI-INF/blueprint/productDataRouter.xml
Bundle-ClassPath: .,json-20160212.jar
Bundle-Description: ProductRouter OSGi blueprint bundle project.
Bundle-ManifestVersion: 2
Bundle-Name: ProductRouter Blueprint Bundle
Bundle-SymbolicName: ProductRouter
Bundle-Version: 1.0.0.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Embed-Dependency: oktopus-integration,commons-lang,jaxws-api,json
Embedded-Artifacts: json-20160212.jar;g="org.json";a="json";v="2016021
 2"
Export-Package: com.born.netsuite.stub;version="1.0.0.SNAPSHOT";uses:=
 "javax.xml.bind.annotation,javax.xml.datatype",com.born.oktopus.commo
 n.data;version="1.0.0.SNAPSHOT";uses:="javax.xml.bind.annotation",com
 .born.oktopus.esb.common;version="1.0.0.SNAPSHOT",com.born.oktopus.es
 b.common.processor;version="1.0.0.SNAPSHOT";uses:="org.apache.camel",
 com.born.oktopus.esb.data;version="1.0.0.SNAPSHOT";uses:="org.apache.
 camel.dataformat.bindy.annotation",com.born.oktopus.product.client;ve
 rsion="1.0.0.SNAPSHOT";uses:="javax.security.auth.callback",com.born.
 oktopus.product.controller;version="1.0.0.SNAPSHOT";uses:="javax.ws.r
 s",com.born.oktopus.product.processor;version="1.0.0.SNAPSHOT";uses:=
 "org.apache.camel",com.born.oktopus.product.routes;version="1.0.0.SNA
 PSHOT";uses:="org.apache.camel.builder",com.born.oktopus.rest;version
 ="1.0.0.SNAPSHOT";uses:="javax.xml.bind.annotation",com.born.oktopus.
 wsdl.data;version="1.0.0.SNAPSHOT";uses:="javax.xml.bind.annotation,j
 avax.xml.datatype"
Import-Package: javax.security.auth.callback,
 javax.ws.rs;version="[2.0,3)",javax.xml.bind.annotation;version="[2.2
 ,3)",javax.xml.datatype,org.apache.camel;version="[2.16,3)",org.apach
 e.camel.builder;version="[2.16,3)",org.apache.camel.dataformat.bindy.
 annotation;version="[2.16,3)",org.apache.camel.model;version="[2.16,3
 )",org.apache.camel.spi;version="[2.16,3)",org.apache.cxf.interceptor
 ;version="[3.1,4)",org.apache.cxf.jaxrs.provider;version="[3.1,4)",or
 g.apache.cxf.ws.security.wss4j;version="[3.1,4)",org.apache.wss4j.com
 mon.ext;version="[2.1,3)",org.osgi.service.blueprint;version="[1.0.0,
 2.0.0)"
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-4.1.0.201810181252

共有1个答案

彭英逸
2023-03-14

当我需要将JAR转换为Servicemix中的bundle时,我使用:

。/bin/servicemix

osgi:install-s wrap:file:////“jar_location ex://lib/ojdbc6-13.jar”

 类似资料:
  • 问题内容: 我正在使用Ant构建一些Java项目。在某些情况下,我有一个lib/目录,该目录包含JAR文件形式的外部依赖项。 在构建过程中,我通过将目录中zipfileset每个jar的a添加到bundlejar文件中,创建了一个捆绑jar,其中包含项目代码以及相关性lib/。 问题是,每次添加一个jar或更改名称时,我都需要记住要更新build.xml文,因为我找不到zipfilesets一种自

  • 当您使用Minecraft forge时,它会创建一个外部/mods/文件夹,您可以将mods放入其中。是否有一种方法可以将所有MOD、配置设置(如splash.propreties)和资产打包成一个单独的组件。jar文件是否易于分发? 我正在制作一个定制的mod pack,我不喜欢你必须安装forge,然后下载mod pack,然后安装mods才能运行我的mod pack。有没有一种方法可以将它

  • 问题内容: 我正在尝试创建包装另一个jar的OSGi服务。我将jar添加到项目,类路径和二进制构建中。我在Activator中注册了该服务,但是当消费包调用该服务时,我在包装jar上得到了java.lang.NoClassDefFoundError。有人知道我在做什么错吗? 提前致谢。 问题答案: 您是否正在导出使用者所需的软件包以及实施所需的所有软件包。消费者将需要导入将被引用的所有内容。 附带

  • 我直接从android网站为我的mac下载了ADT捆绑包。一切都很好,直到我创建了一个新项目,eclipse创建了我的项目以及一个名为“appcompat_v7”的文件夹。 但我不这样做,因为这样我就不能遵循教程,因为你不能扩展一个方法超过一次,例如: 我能做什么?我不能遵循任何教程。我正在尝试这个(https://www.youtube.com/watch?v=E780gbh6vLU),但我不能

  • 在工作中,我们有一个实体库,它被多个客户端用于库(几个servlet、一个桌面应用程序等)。实体库由JPA注释类和最突出的persistence.xml. 所有项目都使用maven配置。 persistence.xml文件应该放在哪里?它需要位于该实体库的jar文件中,我不知道如何使用maven配置它。 (我们只是将一个项目拆分为几个较小的项目) “更新”为了清楚这一点,有一个包含persiste

  • 我正在将我的spring-java项目转移到OSGi。 我有一些依赖项,这些依赖项在spring ebr repo或maven repo中不能作为包提供。处理它们的最佳方法是什么? null