【问题标题】:maven - how to use local repositorymaven - 如何使用本地存储库
【发布时间】:2014-12-22 16:53:31
【问题描述】:

我是 Maven 的新手。我有几个问题。

我必须构建一个 web 应用程序并从中准备一场战争。我已将我的网络应用程序放在..\src\main\webapp 下。它的所有类,在 web-inf\classes 下,我已经复制到 ..\src\main\java. 并且我已经将 pom.xml 放在根目录中。 我在 web-inf\lib 文件夹中有许多 jar,我的类编译依赖于这些 jar。我想将所有这些添加到我的本地存储库中。我的本地存储库是默认文件夹,我在 settings.xml 中没有更改。那么,如何将所有这些 jar 放入本地存储库?仅将 jar 复制到本地存储库文件夹是行不通的。

我应该根据其 groupid 为每个 jar 创建一个文件夹吗?我做事正确吗?或者我错过了什么?

请帮助。提前致谢!

【问题讨论】:

    标签: java maven


    【解决方案1】:

    要部署到 Maven 本地存储库,您可以使用安装插件: http://maven.apache.org/plugins/maven-install-plugin/examples/specific-local-repo.html

    【讨论】:

    • 实际上,更好的链接是maven.apache.org/guides/mini/guide-3rd-party-jars-local.html - 更简单,更重要(问题指定它只是默认的本地存储库)
    • 要在本地存储库中安装 JAR,请使用以下命令: mvn install:install-file -Dfile= -DgroupId= \ -DartifactId= -Dversion= -Dpackaging= 所以这意味着将jar复制到本地存储库。是吗?
    • 这个命令会为你正确地完成它,但是是的,这基本上是会发生的。
    • 感谢@Tarlog。但是我是否对每个 jar 文件都这样做?
    • 这些jar文件的来源是什么?他们不是已经部署到某个远程存储库了吗?或者,也许您正在将它们构建为本地其他项目的一部分?如果是,那么让 Maven 部署它们非常容易。否则,您将需要部署每一个 jar。
    【解决方案2】:

    你的问题已经够糊涂了。首先尝试以更好的方式解释如何做? 如果你想在你的项目中添加 maven 特性(就像我认为的那样),有一些东西需要审查。

    你说的我听不懂:

    它的所有类,在 web-inf\classes 下,我已经复制到 ..\src\main\java

    通常在 web-inf/classes 中有 .class 文件,而在 src/main/java 中必须有源文件。这是一件奇怪的事情

    最后,你必须正确配置 maven 并添加所有 jar,如项目的依赖项。然后,当您尝试安装应用程序时,maven 会将 jars 文件下载到您的文件夹中

    【讨论】:

    • 我的意思是我的产品代码已在网络应用程序结构中检查。所以我的 web-inf\classes 有 java 文件。我为我的 maven 构建放置在 ..\src\main\java 中的那些文件。而且我不应该在 pom.xml 中使用依赖项,我将不得不使用存储库。所以,我想知道如何将库放在本地存储库中,我的构建可以使用它。我有 40 多个罐子要放在存储库中。
    • @Anita “而且我不应该在 pom.xml 中使用依赖项,我将不得不使用存储库”听起来很可疑。 pom.xml 唯一会改变的是将依赖项从 Internet 下载到本地存储库。除非您有 40 个不在全局 maven 存储库中的 jar...此外,在 web-inf\classes 的标准 Web 应用程序结构中,有 .class 文件,而不是 .java。那是有区别的。
    • @Skizzo 抱歉,如果我对 Maven 的理解不正确,因为我对它很陌生。我签入的代码为 .java 文件。我将不得不将所有这些文件编译为 .class 文件并使用 maven 准备战争。那么有没有一种方法可以包含所有这些依赖 jar 以进行 Maven 构建。我读到了 pom.xml 的依赖标签,它需要 groupid,pom.xml 中提到的所有内容,这对我来说非常乏味以这种方式添加所有 40 多个 jar。而且我必须在全球 Maven 存储库中拥有这些 jars。
    • 所以我的问题是;有没有办法将自己添加到本地存储库并让 maven build 使用它?
    • @Anita 是的,另一种方法是在本地存储库中手动安装您的 jar 文件,但这很奇怪,因为要开始构建 maven 生命周期,您必须在 pom 中声明它们
    猜你喜欢
    • 2016-12-02
    • 2020-01-09
    • 2013-05-10
    • 2013-10-11
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    相关资源
    最近更新 更多