2013-08-22 7 views
1

Я получил эту ошибку при установке моего пакета в Karaf, я новичок в OSGi и Karaf, поэтому я могу использовать некоторую помощь в интерпретации ошибки.Apache Commons FileUpload OSGi bundle

Error executing command: Could not start bundle mvn:com.myexample/foobar/0.1.0.SNAPSHOT 
in feature(s) com.myexample.foobar-0.6.0.SNAPSHOT: Unresolved constraint in bundle 
com.myexample.foobar [102]: Unable to resolve 102.0: missing requirement [102.0] 
osgi.wiring.package; (&(osgi.wiring.package=org.apache.commons.fileupload) 
(version>=1.3.0)(!(version>=2.0.0))) 

Это в моем feature.xml

<bundle>mvn:commons-fileupload/commons-fileupload/1.3</bundle> 

и в моем POM

<dependency> 
    <groupId>commons-fileupload</groupId> 
    <artifactId>commons-fileupload</artifactId> 
    <version>1.3</version> 
    </dependency> 

репозитория Maven показывает последнюю версию на 1.3, но она не может быть версией OSGi, если есть один, кто-нибудь знает, где я могу его найти? Я также пробовал wrap:mvn, и это тоже не сработало.

ответ

1

1,3 имеет OSGi манифест и должен работать как расслоение:

$ bnd print -i http://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.3/commons-fileupload-1.3.jar 
[IMPEXP] 
Import-Package 
    javax.servlet       
    javax.servlet.http      
    org.apache.commons.io     
    org.apache.commons.io.output   

Export-Package 
    org.apache.commons.fileupload   {version=1.3} 
    org.apache.commons.fileupload.disk  {version=1.3} 
    org.apache.commons.fileupload.portlet {version=1.3} 
    org.apache.commons.fileupload.servlet {version=1.3} 
    org.apache.commons.fileupload.util  {version=1.3} 
+0

вот что я тоже так думал, ни малейшего представления, почему он не работает для меня? Что означает ошибка? – Bob

+0

Я не знаю, как работает функция Karaf, но похоже, что она не устанавливает комплект ... Вам нужно будет посмотреть набор установленных пакетов и их состояние. Может быть, этот пакет не разрешен, потому что он пропускает коммерческое? –

+0

Функции Karaf работают довольно просто, это в основном список пакетов для установки в один конец для упрощения развертывания. Вернемся к этой проблеме, и все зависимости удовлетворяются также для commons-fileupload (имеется в Commons-io с этой функцией?) –