从Nexus部署到JBoss Fuse的正确方法?

时间:2017-02-24 09:37:40

标签: maven jboss nexus jbossfuse

我有一些JBoss项目,POM中的版本设置为1.0.0-SNAPSHOT。 JBoss在Negus快照存储库中设置为org.ops4j.pax.url.mvn.cfg中的远程存储库,如下所示:

org.ops4j.pax.url.mvn.repositories= \
http://localhost:8888/nexus/content/repositories/snapshots/@snapshots@id=nexus.repo

在我的POM中,我使用Nexus Maven插件将构建的工件部署到Nexus,使用" mvn clean deploy",如下所示:

<plugin>
    <groupId>org.sonatype.plugins</groupId>
    <artifactId>nexus-staging-maven-plugin</artifactId>
    <version>1.6.7</version>
    <extensions>true</extensions>
    <configuration>
    <serverId>nexus</serverId>
    <nexusUrl>http://localhost:8888/nexus/</nexusUrl>
    </configuration>
</plugin>

最新的神器进入Nexus就好了。所以我用这个部署到Fuse:

$FUSE_BIN/client "osgi:install -s mvn:my.package/my-service/1.0.0-SNAPSHOT"
$FUSE_BIN/client "osgi:update my-service mvn:my.package/my-service/1.0.0-SNAPSHOT"

但是,它使用来自&#34; localRepository&#34;的缓存版本更新服务,而不是下载最新版本。所以我应该:

1)每次使用&#34; mvn deploy&#34;

时更新POM中的版本

2)在使用osgi:update

之前清除localRepository

3)我配置错误的东西?

localRepository是否应该知道缓存的工件何时与Nexus不同?

1 个答案:

答案 0 :(得分:0)

您正在使用相同版本安装已安装的工件(我的代码中没有进行任何卸载)。重用“本地”工件是完全合法的。

如果你希望JBoss Fuse“重新加载”一个工件,你应该告诉它这样做。

JBossFuse:karaf@root> dev:watch 372
Watched URLs/IDs:
371
372

现在,当您部署更新的-SNAPSHOT时,JBoss Fuse将重新加载它。

参考:https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Console_Reference/files/ConsoleDevWatch.html