【问题标题】:Osgi Missing Oracle JDBC Driver JBoss Fuse 6.2.1:Osgi 缺少 Oracle JDBC 驱动程序 JBoss Fuse 6.2.1:
【发布时间】:2016-04-18 16:51:43
【问题描述】:

我一直在尝试部署以通过结构融合 OSGI 包。我得到对 Oracle JDBC 的依赖未找到错误。该项目在本地运行良好,但在尝试部署以融合为结构配置文件然后是容器时失败。

论坛中有类似的问题Red Hat JBoss Fuse 6.2.1: Osgi Missing Requirement: Oracle JDBC Driver 说问题已通过执行(替换正确的版本号)解决

install -s wrap:mvn:com.oracle/ojdbc6/<version>

我也试过了。我可以在 features:list 输出中看到 oracle 依赖项,但是 fuse 容器仍然失败并出现错误

java.lang.Exception: 无法为 bundle fab:mvn:com.oracle/ojdbc6/11.2.0.4 创建资源

任何可以提供帮助的人。 详细错误:

io.fabric8.common.util.MultiException: Error
  at io.fabric8.agent.download.impl.MavenDownloadManager$MavenDownloader.(MavenDownloadManager.java:93)
  at io.fabric8.agent.download.impl.MavenDownloadManager.createDownloader(MavenDownloadManager.java:71)
  at io.fabric8.agent.region.Subsystem.downloadBundles(Subsystem.java:329)
  at io.fabric8.agent.region.SubsystemResolver.resolve(SubsystemResolver.java:182)
  at io.fabric8.agent.service.Deployer.deploy(Deployer.java:273)
  at io.fabric8.agent.service.Agent.provision(Agent.java:366)
  at io.fabric8.agent.service.Agent.provision(Agent.java:199)
  at io.fabric8.agent.DeploymentAgent.doUpdate(DeploymentAgent.java:727)
  at io.fabric8.agent.DeploymentAgent$4.run(DeploymentAgent.java:283)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
  at java.util.concurrent.FutureTask.run(FutureTask.java:262)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:745)
java.lang.Exception: Unable to create resource for bundle fab:mvn:com.oracle/ojdbc6/11.2.0.4
  at io.fabric8.agent.region.Subsystem.createResource(Subsystem.java:491)
  at io.fabric8.agent.region.Subsystem$ResourceBuilderCallback.downloaded(Subsystem.java:422)
  at io.fabric8.agent.download.impl.MavenDownloadManager$MavenDownloader$1.operationComplete(MavenDownloadManager.java:143)
  at io.fabric8.agent.download.impl.MavenDownloadManager$MavenDownloader$1.operationComplete(MavenDownloadManager.java:137)
  at io.fabric8.agent.download.impl.DefaultFuture.notifyListener(DefaultFuture.java:343)
  at io.fabric8.agent.download.impl.DefaultFuture.notifyListeners(DefaultFuture.java:328)
  at io.fabric8.agent.download.impl.DefaultFuture.setValue(DefaultFuture.java:254)
  at io.fabric8.agent.download.impl.AbstractDownloadTask.setFile(AbstractDownloadTask.java:53)
  at io.fabric8.agent.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:41)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
  at java.util.concurrent.FutureTask.run(FutureTask.java:262)
  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:745)
Caused by: org.osgi.framework.BundleException: Unsupported 'Bundle-ManifestVersion' value: 1
  at io.fabric8.agent.resolver.ResourceBuilder.build(ResourceBuilder.java:72)
  at io.fabric8.agent.resolver.ResourceBuilder.build(ResourceBuilder.java:65)
  at io.fabric8.agent.region.Subsystem.createResource(Subsystem.java:489)
... 15 more

使用的pom文件是:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.cbp.dv</groupId>
  <artifactId>demo-cbp-dv</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <name>demo app </name>
  <url>http://www.demhas.com</url>
  <packaging>bundle</packaging>
  <properties>

    <fabric8.profile>demhas-cbp-dv</fabric8.profile>

    <fabric8.features>feature-camel</fabric8.features>
    <fabric8.bundles>wrap:mvn:com.oracle/ojdbc6/${ojdbc-version}
                    wrap:mvn:commons-dbcp/commons-dbcp/${commons-dbcp-version}
                    wrap:mvn:org.json/json/${json-version}
    </fabric8.bundles>


    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <activemq-version>5.10.0</activemq-version>
    <jackson-version>2.5.4</jackson-version>
    <json-version>20150729</json-version>
    <json2-version>20140107</json2-version>
    <slf4j-version>1.7.12</slf4j-version>
    <log4j-version>1.2.17</log4j-version>
    <ojdbc-version>11.2.0.4</ojdbc-version>
    <commons-dbcp-version>1.4</commons-dbcp-version>
    <camel-version>2.15.2</camel-version>

    <fabic8-version>1.2.0.redhat-133</fabic8-version>

  </properties>

  <dependencies>
      <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm-commons</artifactId>
        <version>4.1</version>
        <scope>runtime</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-core</artifactId>
      <version>${camel-version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-blueprint</artifactId>
      <version>${camel-version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-salesforce</artifactId>
      <version>${camel-version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-http</artifactId>
      <version>${camel-version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-jsonpath</artifactId>
      <version>${camel-version}</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j-version}</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j-version}</version>
    </dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j-version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-mybatis</artifactId>
      <version>${camel-version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-test-blueprint</artifactId>
      <version>${camel-version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-test</artifactId>
      <version>${camel-version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-jackson</artifactId>
        <version>${camel-version}</version>
    </dependency>    

    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-jaxb</artifactId>
      <version>${camel-version}</version>
    </dependency>

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>${ojdbc-version}</version>
        </dependency>
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>${commons-dbcp-version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-client</artifactId>
      <version>${activemq-version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-camel</artifactId>
      <version>${activemq-version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-pool</artifactId>
      <version>${activemq-version} </version>
       <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>${json-version}</version>
    </dependency>
  </dependencies>
  <repositories>
    <repository>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>public.fusesource.org</id>
      <name>FuseSource Public Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/public/</url>
    </repository>
    <repository>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>release.fusesource.org</id>
      <name>FuseSource Release Repository</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/releases</url>
    </repository>
    <repository>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>ea.fusesource.org</id>
      <name>FuseSource Community Early Access Release Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/ea</url>
    </repository>
    <repository>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <id>snapshot.fusesource.org</id>
      <name>FuseSource Snapshot Repository</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/snapshots</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>public.fusesource.org</id>
      <name>FuseSource Public Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/public</url>
    </pluginRepository>

    <pluginRepository>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>release.fusesource.org</id>
      <name>FuseSource Release Repository</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/releases</url>
    </pluginRepository>
    <pluginRepository>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>ea.fusesource.org</id>
      <name>FuseSource Community Early Access Release Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/ea</url>
    </pluginRepository>
    <pluginRepository>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <id>snapshot.fusesource.org</id>
      <name>FuseSource Snapshot Repository</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/snapshots</url>
    </pluginRepository>
  </pluginRepositories>
  <build>
    <defaultGoal>install</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.3.7</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
            <Private-Package>com.mycompany.*</Private-Package>
            <Import-Package>*</Import-Package>
          </instructions>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-maven-plugin</artifactId>
        <version>${camel-version}</version>
        <configuration>
          <useBlueprint>true</useBlueprint>
        </configuration>
       </plugin>
         <!-- fabric8 plugin for using deploying via mvn fabric:deploy -->
       <plugin>
        <groupId>io.fabric8</groupId>
        <artifactId>fabric8-maven-plugin</artifactId>
        <version>${fabic8-version}</version>
      </plugin>

    </plugins>
  </build>

</project>

【问题讨论】:

  • 这看起来像是织物代理问题。它试图使用“fab”类型而不是 bnd 包装来包装。

标签: oracle jdbc apache-camel jbossfuse


【解决方案1】:

从 Fuse 容器的角度来看,该 jar 似乎不在存储库中。您是否已将 Oracle jar 部署到在线 Maven 存储库或 Fuse 容器的本地范围内?

在将 jar 文件部署到 mvn 存储库后,我成功运行了您帖子中提到的命令:

> install -s wrap:mvn:com.oracle/ojdbc6/11.2.0.3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2012-12-27
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    相关资源
    最近更新 更多