我有一些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"
但是,它使用“localRepository”中的缓存版本更新服务,而不是下载最新版本 . 所以我应该:
1)每次使用“mvn deploy”时更新POM中的版本
2)在使用osgi:update之前清除localRepository
3)我配置错了什么?
localRepository不应该知道缓存的工件何时与Nexus不同?
1 回答
您正在使用相同版本安装已安装的工件(我的代码中没有任何卸载) . 重用“本地”工件是完全合法的 .
如果你希望JBoss Fuse“重新加载”一个工件,你应该告诉它这样做 .
现在,当您部署更新的
-SNAPSHOT
时,JBoss Fuse将重新加载它 .参考:https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Console_Reference/files/ConsoleDevWatch.html