【问题标题】:Automatic update for jar in mavenmaven中jar的自动更新
【发布时间】:2016-10-26 12:11:16
【问题描述】:

我正在使用 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。我在这里错过了什么?

【问题讨论】:

  • 在 maven 中,固定版本的 jar 永远不会重新下载,因为它们永远不会改变。所以要么使用 SNAPSHOT VERSION 并使用 -U (force update dependencies for SNAPSHOT) 运行 mvn,或者最终使用版本范围。 (不鼓励,因为它会影响构建的可重复性)。

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 2018-11-21
    • 2015-05-22
    • 2015-09-24
    • 1970-01-01
    相关资源
    最近更新 更多