maven依赖从哪里获取包?

Where does maven dependency fetch packages from?

根据下面的快照,我看到了休眠包列表:

我经常看到 eclipse 中的 m2e 插件 (maven) 更新索引 activity,对此我一无所知,这是什么意思?

这些包是从哪里获取并显示的?

什么是groupId/ArtifactId?为什么不能直接说 package/class 呢?

Where are these packages fetched from and displayed?

默认情况下,Maven 将从位于 URL 的 Maven 中央存储库下载:http://search.maven.org/

您还可以使用 <repository> 标签添加自定义存储库。以下是如何将 JBoss 存储库添加到 Maven 项目的示例:

<project>
    <repositories>
        <repository>
            <id>JBoss repository</id
            <url>http://repository.jboss.org/nexus/content/groups/public/</url>
        </repository>
    </repositories>
</project>

Maven 将在需要时下载工件。因此,如果本地还没有必要的 JAR,则执行 mvn updatemvn install 会触发 Maven 转到存储库。默认情况下,存储 JAR 文件的本地文件夹是 C:\Users\your_windows_user\.m2\repository

What is groupId/ArtifactId? Why can't one just say package/class instead?

Maven 通过管理 依赖项 来运行,它们是单独的 JAR 文件。因此,如果您需要使用 class,Maven 将拉入包含该 class 的整个 JAR 文件。这样做的主要原因是 Java 库通常作为 JAR 文件提供,而不是单独的 classes。