2017-02-24 36 views
0

我有几个JBoss项目,POM版本设置为1.0.0-SNAPSHOT。 JBoss是设置于Nexus快照库在org.ops4j.pax.url.mvn.cfg远程仓库,就像这样:从Nexus部署到JBoss Fuse的正确方法?

org.ops4j.pax.url.mvn.repositories= \ 
http://localhost:8888/nexus/content/repositories/snapshots/@[email protected]=nexus.repo 

在我的POM,我使用Nexus Maven插件部署内置文物带有“mvn clean deploy”的Nexus,如下所示:

<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" 

但是,它使用“localRepository”中的缓存版本更新服务,而不是下载最新版本。所以,我应该:

1)更新的POM版本每次我用 “MVN部署”

2)的清扫的localRepository以前我用的OSGi时间:更新

3)什么我配置错了吗?

本地知识库是不是应该知道缓存的工件何时与Nexus不同?

回答

0

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

如果您希望JBoss Fuse“重新加载”一个工件,您应该告诉它执行此操作。

JBossFuse:[email protected]> 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

+0

那不是为我工作,当我部署神器的Nexus的新快照,保险丝没有重装它。当我在新快照上运行osgi:install(不应该,但不是重新加载)时,它会与以前的版本一起安装。也许没有什么会触发对localRepository的更新? –