我在eclipse中创建了maven项目,将其余的Web服务暴露给JBoss Fuse并使maven干净并安装,并在此路径中的maven本地存储库中创建了包:
C:\Users\mohamed.mostafa\.m2\repository\com\javainuse\apache-camel-jaxrs\0.0.1-SNAPSHOT
我想使用此命令将此软件包安装到jboss fuse:
JBossFuse:karaf@root>install mvn:com/javainuse/apache-camel-jaxrs/0.0.1-SNAPSHOT
请帮帮我......
让我无法安装捆绑com/javainuse/apache-camel-jaxrs/0.0.1-SNAPSHOT
答案 0 :(得分:1)
这应该在etc文件夹中的org.ops4j.pax.url.mvn.cfg配置中配置。
您用于安装的语法错误。它应该如下所示。
JBossFuse:karaf@root>install mvn:<groupId>/<artifactId>/<version>
示例:
JBossFuse:karaf@root>install mvn:com.javainuse/apache-camel-jaxrs/0.0.1-SNAPSHOT
此外,重要的是你要安装的地方如果你使用nexus,你可以使用下面的东西。
org.ops4j.pax.url.mvn.repositories = http://someurl.com/nexus/content/groups/public@snapshots
如果您想使用本地maven repo。
用于避免下载的本地maven存储库的路径 当本地已经存在的工件。 将从settings.xml文件中提取此属性的值 以上,或默认为: System.getProperty(&#34; user.home&#34;)+&#34; /。m2 / repository&#34;
org.ops4j.pax.url.mvn.defaultLocalRepoAsRemote = true
org.ops4j.pax.url.mvn.localRepository= Path of Local maven Repo
答案 1 :(得分:0)
要使用Maven为OSGi创建JBoss FUSE捆绑包,应将maven-bundle-plugin
添加到pom.xml中,并将包装类型设置为bundle
:
<packaging>bundle</packaging>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<version>2.3.7</version>
</plugin>
</plugins>
</build>
要使您的软件包可用于JBoss FUSE,请构建工件并将其安装到本地Maven存储库中:
mvn -DskipTests=true clean install
要使用Apache ServiceMix或Apache Karaf在JBoss FUSE中安装OSGi软件包,可以从其shell运行以下命令:
JBossFuse:karaf@root> osgi:install -s mvn:<groupId>/<artifactId>/<version>
您会看到:
Bundle ID: //some identifier here
参数-s
允许自动启动分发包。
JBoss FUSE还提供了一个Web管理控制台,网址为:
http://localhost:8181/hawtio
除此之外,您还可以在其中管理捆绑包。
重要说明:如documentation中所述,
如果本地Maven存储库存储在非标准位置, 您可能需要自定义
org.ops4j.pax.url.mvn.localRepository
属性中的InstallDir/etc/org.ops4j.pax.url.mvn.cfg
文件,然后才能使用mvn:
方案来访问Maven工件。