我有一些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
之前清除localRepository3)我配置错误的东西?
localRepository是否应该知道缓存的工件何时与Nexus不同?
答案 0 :(得分:0)
您正在使用相同版本安装已安装的工件(我的代码中没有进行任何卸载)。重用“本地”工件是完全合法的。
如果你希望JBoss Fuse“重新加载”一个工件,你应该告诉它这样做。
JBossFuse:karaf@root> dev:watch 372
Watched URLs/IDs:
371
372
现在,当您部署更新的-SNAPSHOT
时,JBoss Fuse将重新加载它。