Я использую 2.2.33 OrientDb под Karaf 4.1.4. Функция Karaf с активатором связки сделана:
<repository>mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.2.1/xml/features</repository>
<feature name = "orientdb-server" description = "OrientDB NoSQL Database" version = "${orientdb.version}">
<bundle>mvn:com.googlecode.concurrentlinkedhashmap/concurrentlinkedhashmap-lru/1.4.2</bundle>
<bundle>mvn:com.orientechnologies/orientdb-core/${orientdb.version}</bundle>
<bundle>mvn:com.orientechnologies/orientdb-tools/${orientdb.version}</bundle>
<bundle>mvn:com.orientechnologies/orientdb-client/${orientdb.version}</bundle>
<bundle>mvn:com.orientechnologies/orientdb-server/${orientdb.version}</bundle>
<bundle>mvn:com.orientechnologies/orientdb-distributed/${orientdb.version}</bundle>
<bundle>mvn:net.java.dev.jna/jna/4.0.0</bundle>
</feature>
Но при установке функции у меня возникла ошибка зависимости, как показано ниже.
Failed to install feature orientdb-server due to org.osgi.service.resolver.ResolutionException : Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=orientdb-server; type=karaf.feature; version = "[2.2.33,2.2.33]"; filter: = "(&(osgi.identity=orientdb-server)(type=karaf.feature)(version>=2.2.33)(version<=2.2.33))" [caused by: Unable to resolve orientdb-server/2.2.33: missing requirement [orientdb-server/2.2.33] osgi.identity; osgi.identity=com.orientechnologies.orientdb-tools; type=osgi.bundle; version = "[2.2.33,2.2.33]"; resolution:=mandatory [caused by: Unable to resolve com.orientechnologies.orientdb-tools/2.2.33: missing requirement [com.orientechnologies.orientdb-tools/2.2.33] osgi.wiring.package; filter: = "(osgi.wiring.package=com.orientechnologies.common.collection)" [caused by: Unable to resolve com.orientechnologies.orientdb-core/2.2.33: missing requirement [com.orientechnologies.orientdb-core/2.2.33] osgi.wiring.package; filter: = "(osgi.wiring.package=javax.annotation.meta)"]]]
Я нашел javax.annotation.meta
в Vaadin, GWT и servlet-api.
Первые две - это части внешнего интерфейса, и единственным оставшимся кандидатом был servlet-api из-за встроенного пользовательского интерфейса Studion.
Но добавление следующей зависимости тоже не помогает.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
Любое предложение будет оценено.
Это работает сейчас
272 │ Active │ 80 │ 1.4.2 │ ConcurrentLinkedHashMap
273 │ Active │ 80 │ 2.2.33 │ OrientDB Client
274 │ Active │ 80 │ 2.2.33 │ OrientDB Core
275 │ Active │ 80 │ 2.2.33 │ OrientDB JDBC Driver
276 │ Active │ 80 │ 2.2.33 │ OrientDB Server
277 │ Active │ 80 │ 2.2.33 │ OrientDB Tools
278 │ Active │ 80 │ 3.0.1 │ FindBugs-jsr305
соответствующая функция:
<repository>mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.2.1/xml/features</repository>
<feature name = "orientdb-embedded" description = "OrientDB NoSQL Database" version = "${orientdb.version}">
<bundle>mvn:com.google.code.findbugs/jsr305/3.0.1</bundle>
<bundle>mvn:com.orientechnologies/orientdb-core/${orientdb.version}</bundle>
<bundle>mvn:com.orientechnologies/orientdb-server/${orientdb.version}</bundle>
<bundle>mvn:com.googlecode.concurrentlinkedhashmap/concurrentlinkedhashmap-lru/1.4.2</bundle>
<bundle>mvn:com.orientechnologies/orientdb-client/${orientdb.version}</bundle>
<bundle>mvn:com.orientechnologies/orientdb-tools/${orientdb.version}</bundle>
<bundle>mvn:com.orientechnologies/orientdb-jdbc/${orientdb.version}</bundle>
</feature>