【问题标题】:How to install a dependency in my local project in Maven?如何在 Maven 的本地项目中安装依赖项?
【发布时间】:2016-09-24 11:32:10
【问题描述】:

如何在我的本地项目中安装依赖项/库?

因为现在我看到我的所有依赖项都安装到:

C:\Users\yomac_000\.m2\repository

使用 npm(一个依赖项/库安装程序,如 Maven,但随后用于 Node.js),我可以执行以下命令将库安装到我的项目:

npm install <library_name>

如果我这样做:

npm install -g <library_name>

然后将库安装在 C:\somepath 中。

【问题讨论】:

    标签: java maven jakarta-ee dependencies java-ee-7


    【解决方案1】:

    .m2/repository 文件夹称为本地存储库。所有依赖项都下载到此文件夹中,因此您的项目可以共享它们。如果您想为您的项目“安装”依赖项,请创建 pom.xml 并设置适当的打包类型(例如,web 应用程序的 war)和范围。这样就可以在您的 WEB-INF/lib 文件夹中访问依赖项。

    如果你真的需要改变你的本地仓库的路径,你可以通过编辑 maven 配置来完成。请参阅this page 以获取有关 maven 配置的信息。


    有关pom.xml 文件的一般信息,请参阅https://maven.apache.org/pom.html

    有关 maven 使用的依赖机制的详细信息,请参阅 https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html。此处还描述了可用范围。

    【讨论】:

    • 如果我用 <localRepository>/path/to/local/repo/</localRepository> 更改本地存储库的路径。然后project Aproject B 仍然在新更改的路径上安装他们的库。那么我该如何管理project Aproject A 中安装他的依赖项?
    • 我不确定是否有这种选项。 Maven 不是这样工作的。它使您的项目共享依赖项。然后,当您构建项目时,它会将依赖项与项目打包在一起。 IE。您不需要关心本地存储库的位置,只需在 pom 中定义依赖项,maven 会处理其余的。请参阅我在答案中声明的链接。
    • 是的,我知道,但是如果 project A 使用名为 testLibrary 1.0 的库而 project B 使用名为 testLibrary 2.0 的库会发生什么?我假设 Maven 将删除 testLibrary 1.0 并使用 testLibrary 2.0 更新它。这意味着我不能再运行project A..
    • 在这种情况下,您将在本地存储库中下载两个版本的testLibrary。 1.0 版(在构建后)将包含project A,2.0 版将包含project B。 Maven 支持依赖的版本控制。
    猜你喜欢
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多