我遇到JBoss Fuse重新签名哪个maven存储库来搜索示例项目工件的问题。我终于修复了它,它现在显示以下错误..
Caused by: org.osgi.framework.BundleException: Unable to cache bundle: mvn:com/mycompany/camel-activemq-blueprint/1.0.0-SNAPSHOT
at org.apache.felix.framework.Felix.installBundle(Felix.java:2878)
at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:165)
at org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:43)
... 18 more
Caused by: java.io.IOException: Error resolving artifact com:mycompany:1.0.0-SNAPSHOT:camel-activemq-blueprint: Could not find artifact com:mycompany:1.0.0-SNAPSHOT:camel-activemq-blueprint
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:661)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:576)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:550)
at org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:123)
at org.apache.felix.framework.util.SecureAction.getURLConnectionInputStream(SecureAction.java:524)
at org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:166)
at org.apache.felix.framework.cache.JarRevision.(JarRevision.java:77)
at org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:878)
at org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:550)
at org.apache.felix.framework.cache.BundleArchive.(BundleArchive.java:153)
at org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:277)
at org.apache.felix.framework.Felix.installBundle(Felix.java:2874)
... 20 more
之前曾说过,它正在查看repo.maven.org的工件,但在我在etc文件夹中的org.ops4j.pax.url.mvn.cfg文件中更正之前失败了。
我也注意到,如果我这样做" runAs / maven clean"然后是" runAS / maven install"它更新了一个名为repository.xml的文件,该文件位于C:/ maven / repository(这是我的maven工件本地出现的地方)
repository.xml如下:
<repository lastmodified='20161024030208.517'>
<resource id='camel-route-cbr/1.0.0.SNAPSHOT' symbolicname='camel-route-cbr' presentationname='Camel AMQ Example using Blueprint [camel-route-cbr]' uri='com/mycompany/camel-activemq-blueprint/1.0.0-SNAPSHOT/camel-activemq-blueprint-1.0.0-SNAPSHOT.jar' version='1.0.0.SNAPSHOT'>
<description>Camel AMQ Example using Blueprint</description>
<size>10088</size>
<capability name='bundle'>
<p n='symbolicname' v='camel-route-cbr'/>
<p n='presentationname' v='Camel AMQ Example using Blueprint [camel-route-cbr]'/>
<p n='version' t='version' v='1.0.0.SNAPSHOT'/>
<p n='manifestversion' v='2'/>
</capability>
<capability name='package'>
<p n='package' v='com.mycompany.templates.camel.activemq'/>
<p n='version' t='version' v='1.0.0'/>
<p n='uses:' v='org.apache.camel'/>
</capability>
<require name='package' filter='(&(package=org.apache.activemq.camel.component)(version>=5.11.0)(!(version>=6.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.activemq.camel.component;version="[5.11,6)"</require>
<require name='package' filter='(&(package=org.apache.camel)(version>=2.17.0)(!(version>=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.camel;version="[2.17,3)"</require>
<require name='package' filter='(&(package=org.apache.camel.spi)(version>=2.17.0)(!(version>=3.0.0)))' extend='false' multiple='false' optional='false'>Import package org.apache.camel.spi;version="[2.17,3)" </require>
<require name='package' filter='(&(package=org.osgi.service.blueprint)(version>=1.0.0)(!(version>=2.0.0)))' extend='false' multiple='false' optional='false'>Import package org.osgi.service.blueprint;version="[1.0.0,2.0.0)"</require>
</resource>
</repository>
用户//。m2 / settings.xml指向正确的本地maven存储库位置。
然而,当我去localhost:8181到Fuse终端并输入
osgi:install -s mvn:com / mycompany / camel-activemq-blueprint / 1.0.0-SNAPSHOT
它抛出上面的错误。 Fuse错误日志以前曾建议必须为install命令提供类似于:
的路径osgi:install -s mvn:[[repository!] group-id] / [artifact-id] / [version]
我也尝试传递[repository!]部分,但是当我通过它时它并不喜欢它。
我究竟做错了什么?
编辑:我刚注意到一些事情......有效的POM骆驼版本与骆驼核心版本不同......
<properties>
<jboss.fuse.bom.version>6.3.0.redhat-187</jboss.fuse.bom.version>
<maven-bundle-plugin.version>3.2.0</maven-bundle-plugin.version>
<java.version>1.8</java.version>
<maven-resources-plugin.version>3.0.1</maven-resources-plugin.version>
<maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version>
<maven-clean-plugin.version>3.0.0</maven-clean-plugin.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<camel.version>2.15.1.redhat-621084</camel.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-maven-plugin</artifactId>
<version>2.17.0.redhat-630187</version>
</dependency>
我之前发现Fuse容器中的这个骆驼束与项目POM中的骆驼束可能会导致问题。我应该纠正这个,如果是,怎么做?