在maven中自动更新jar

时间:2016-10-26 12:11:17

标签: java maven maven-2 maven-3 drools

我正在使用Drools 6.4和KieScanner在KieBase中自动更新。我已经设置了远程存储库并在settings.xml中指定了它。

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <profiles>
        <profile>
            <id>useArtifactory</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>abc</id>
                    <url>My remote artifactory</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>useArtifactory</activeProfile>
    </activeProfiles>
</settings>

当我的应用程序第一次运行时,它在本地maven中找不到jar,因此它从远程存储库下载。我有KieScanner,它每隔10秒扫描一次maven repo。但问题是如果远程仓库中有任何更新,则不会即时下载更新。我正在使用jar的固定版本1.0。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

如果您想要更新版本,则必须将其声明为SNAPSHOT版本,即1.0.0-SNAPSHOT。

SNAPSHOT版本定期更换(标准是每24小时一次), 而发布版本(如1.0)永远不会更新。你可以强制更新 通过在Maven中使用-u参数获得SNAPSHOT版本。

SNAPSHOT版本用于开发(因此它们可以更改),而发布版本被认为是稳定的,因此每个人都可以依赖它们而不期待更改。