【问题标题】:eclipse vs cmd maven repositorieseclipse vs cmd maven 存储库
【发布时间】:2017-10-04 12:02:09
【问题描述】:

我正在开发一个加载了很多依赖项的项目。我正在使用一个特定的 settings.xml 文件,该文件指向 m2 存储库的特定方向。它在 Eclipse 首选项中设置 maven 使用此设置文件,并作为环境变量使用此设置文件。

现在,我不确定会发生什么的情况是:

  1. 代码发生更改,需要更新依赖项
  2. 您正在使用 Maven -> 从 Eclipse 的项目上下文菜单中更新项目...选项,或者使用 Maven 构建并选中更新快照选项
  3. 依赖项已下载,在 eclipse 中您可以看到代码正在再次构建。
  4. 这是我不明白的部分,现在我试图在特定项目上简单地运行“mvn clean install”,但它没有构建,我需要使用 -U 选项并且在下载依赖项时,则构建成功。

我知道这是一个很长的场景,对于可能是 tl;dr 的人来说,但如果有人能向我解释为什么需要下载依赖项,我将不胜感激。

【问题讨论】:

  • 您是否查看过本地存储库 (.mv/repository) 中究竟发生了什么? Eclipse 和 mvn 是否都将 jar 下载到同一目录?

标签: java eclipse maven m2eclipse m2e


【解决方案1】:

通常,Eclipse 插件使用与操作系统中安装的不同的嵌入式 maven。如果您使用自定义设置,则必须同时配置两者。

  • 在 Eclipse 中,您可以转到Window > Preferences,然后查找Maven > Installation。您可以在那里查看您正在使用的 Maven。有一个默认的EMBEDDED maven。您可以使用按钮Add.. 其他人。
  • 在Window > Preferences 中,查找Maven > User Settings 来定义您的settings.xml 文件。
  • 对于外部(典型)maven 安装,settings.xml file 位于您的主目录中。

为了避免双重配置(和存储库),我认为你可以

  1. 将 Eclipse 配置为使用相同的 settings.xml,或
  2. Configure Eclipse to use an external maven.

【讨论】:

  • 感谢您的详细解释。但是我有这个配置。这是我的问题的全部要点。即使 eclipse 和 cmd maven 使用相同的 settings.xml,它的行为就像两个单独的 maven 安装。
  • 你是否在 Eclipse 中使用 maven 作为外部工具?
  • 不,我使用的是第一种方法,所以我的命令行 maven(如果你可以这么说的话)和 eclipse 中的命令行使用相同的 settings.xml 文件,该文件指向特定的本地存储库位置
  • @Jaimie ,好吧,我可能误解了你,我可以看到在我的 Eclipse 中,这个 maven 安装被标记为外部。但最后,这只是使它指向相同的设置文件,Eclipse Window->Preferences->Maven->User settings 中的事件我可以看到本地存储库文件夹的正确路径
  • 如果两个 maven 都指向相同的设置,或者如果您使用相同的 maven,我认为它们必须工作。 -- 可能,这是一个 Eclipse 错误。显然,您在 Eclipse 中更改了 settings.xml 后,must update and re-index the maven repository。
猜你喜欢
  • 1970-01-01
  • 2010-11-19
  • 1970-01-01
  • 2011-02-03
  • 2016-09-29
  • 2015-02-22
  • 2017-07-31
  • 2012-03-20
  • 2012-08-17
相关资源
最近更新 更多