【问题标题】:Eclipse: Moving Maven DependenciesEclipse:移动 Maven 依赖项
【发布时间】:2016-08-25 14:34:43
【问题描述】:

我正在将代码从一个项目(我们将这个项目称为“A”)实现到另一个项目(项目“B”)。我需要在项目 B 中实现的项目 A 中的代码具有 Maven 依赖项,没有它们就无法工作。

我想知道是否/如何可以简单地将项目 A 中的 Maven 依赖项文件夹添加到项目 B 中,从而允许项目 B 中项目 A 的代码工作?

我对 Maven 和整个事情都很陌生,所以如果你能尽可能地为我简化一些东西,我将不胜感激!谢谢!

【问题讨论】:

    标签: java eclipse maven dependencies shared-libraries


    【解决方案1】:

    如果您不想在项目B中使用maven,那么您可以将项目A中的maven生成的库复制到项目B中,请执行以下操作:

    • 在项目A中,在Eclips中打开项目,右键项目A -> Maven -> 更新项目,然后在项目A中,打开Java资源 -> 库 -> Maven Dependecies 然后选择该文件夹中的所有库(按住shift然后单击第一个库和最后一个库)。右键然后复制。
    • 在项目 B 中,创建一个新的 lib 文件夹并将所有这些库都放入其中。然后右键单击项目B->属性->选择Java构建路径->选择库选项卡->添加罐子->选择项目B->Lib文件夹->选择Lib文件夹中的所有库(按住shift-单击第一个-最后一个)然后好的 -> 再次确定属性,你就完成了。

    【讨论】:

    • 我是否需要采取任何特殊方法来确保库已连接并正常工作?
    【解决方案2】:

    Maven 依赖项是从项目的 pom.xml 配置中生成的。您需要创建(如果尚未完成)一个 pom.xml 并将“依赖项”部分复制到新项目 pom.xml 中。

    【讨论】:

    • 所以我需要在项目 B 中创建一个 pom.xml 文件,然后简单地将项目 A 中的依赖项部分复制到其中?由于项目 A 中的 Maven Dependencies 文件夹,我有点困惑;只需设置 pom.xml 文件就可以解决问题?
    • Maven Dependencies 文件夹派生自 pom.xml 的 dependencies 部分中的内容。如果您从 pom.xml 依赖项中添加或删除某些内容,它将反映在 Maven 依赖项文件夹中。
    【解决方案3】:

    除了@MHU 的回答,您还可以执行以下操作。

    1. 将项目 A 发布到您的本地 maven 存储库:

      cd {PROJECT_A_DIR}
      mvn clean install
      
    2. 将项目B的pom.xml中的依赖添加到项目A:

      <dependencies>
        ...
        <dependency>
          <groupId>project-a-group</groupId>
          <artifactId>project-a</artifactId>
          <version>1</version>
          <scope>compile</scope>
        </dependency>
      </dependencies>
      

    【讨论】:

      【解决方案4】:

      如果你是在 Eclipse 中开发,你可以通过传统方式将 ProjectA 作为依赖项目添加到 ProjectB 中来做到这一点。

      然而,Maven 在依赖控制方面做得更好。

      首先,当你“安装” maven 项目时,你必须了解 maven 是如何工作的。

      当您在 ProjectA 中执行 Maven 安装操作时,它会将项目编译并构建为本地存储库中的 jar 文件。

      之后,您可以通过将依赖元素放入ProjectA的pom文件中来包含此jar文件

      再提醒一下,每当您对ProjectA中的代码进行更改时,您必须进行Maven安装以“更新”存储库中的jar文件,或者您应该“升级”版本号并重新安装。

      否则,更改不会对 ProjectB 生效

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-15
        • 1970-01-01
        • 1970-01-01
        • 2011-12-21
        • 2016-09-07
        • 2016-05-16
        • 2017-03-29
        • 1970-01-01
        相关资源
        最近更新 更多