410013796724260
• Webmoney
R335386147728
Z369087728698
OSGi бандл драйвера для OracleДрайверы JDBC для Oracle не являются OSGi бандлами, но их можно преобразовать в бандл, используя фреймворк Maven. Для этого следует выполнить следующие шаги :
Манифест MANIFEST.MF вновь созданного бандла JDBC драйвера должен включать соответствующие секции <Import-Package>, <Export-Package>. Проект создания бандла драйвера для OracleМожно использовать предлагаемый Eclipse проект для формирования OSGi бандла JDBC драйвера. Проект включает только файл описания pom.xml.
Листинг описания проекта pom.xmlОсновную роль в этом проекте играет один единственный файл pom.xml, включающий :
При описании плагина BND важно правильно определить секции <Export-Package> и <Import-Package>.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>ojdbc6</artifactId>
<packaging>bundle</packaging>
<version>11.2.0.1</version>
<name>Oracle JDBC driver</name>
<description>
This bundle wraps driver ojdbc6-11.2.0.1.0.jar
</description>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<pkgArtifactId>ojdbc6</pkgArtifactId>
<pkgVersion>11.2.0.1</pkgVersion>
<osgiVersion></osgiVersion>
<pkgVendor>Oracle Corporation</pkgVendor>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<pkgDocUrl/>
</properties>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav-jackrabbit</artifactId>
<version>1.0-beta-6</version>
</extension>
</extensions>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.3.4</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>
</Bundle-SymbolicName>
<Export-Package>
*;version=
</Export-Package>
<Import-Package>
!javax.resource,
!javax.resource.spi,
!javax.resource.spi.endpoint,
!javax.resource.spi.security,
!oracle.security.pki,
!oracle.ons,
!oracle.i18n.text,
!oracle.i18n.text.converter,
!oracle.xdb,
!com.sun.security.auth.module,*
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>
Листинг манифеста бандла, MANIFEST.MFЕсли взглянуть на манифест MANIFEST.MF созданного бандла, то можно будет увидеть все необходимые параметры и секции, классифицирующие jar-архив как OSGi бандл. Export-Package в листинге представлен в сильно усеченном виде. Manifest-Version: 1.0 Bundle-Description: This bundle wraps driver ojdbc6-11.2.0.1.0.jar Bundle-SymbolicName: ojdbc6 Built-By: PC Bundle-ManifestVersion: 2 Bnd-LastModified: 1515178285409 Bundle-Version: 11.2.0.1 Bundle-Name: Oracle JDBC driver Created-By: Apache Maven Bundle Plugin Build-Jdk: 1.8.0_121 Tool: Bnd-1.15.0 Import-Package: javax.crypto,javax.crypto.spec,javax.management,javax. naming,javax.naming.directory,javax.naming.spi,javax.net,javax.net.ss l,javax.security.auth,javax.security.auth.callback,javax.security.aut h.kerberos,javax.security.cert,javax.sql,javax.sql.rowset,javax.sql.r owset.spi,javax.transaction.xa,javax.xml.parsers,org.ietf.jgss,org.w3 c.dom,org.xml.sax,org.xml.sax.helpers Export-Package: oracle.jdbc.util;version="11.2.0.1", … Ignore-Package: oracle.i18n.text.converter,oracle.security.pki,com.sun .security.auth.module,javax.resource.spi.endpoint,javax.resource.spi. security,oracle.ons,oracle.xdb,oracle.i18n.text,javax.resource,javax. resource.spi Скачать проектРассмотренный на странице проект создания бандла драйвера для Oracle в виде проекта Eclipse можно скачать здесь (1.95 Мб). Архив включает бандл JDBC драйвера ojdbc6-11.2.0.1.jar в директории target. |
