Windows 7上的Maven-NetBeans默认路径?

时间:2012-10-27 10:30:52

标签: maven netbeans windows-7

我正在尝试了解有关NetBeans与其包含的Maven交互的一些细节,特别是NB如何知道“捆绑”maven的位置,以及maven如何知道其本地存储库的位置 - 即:在哪些配置文件被捕获

这是Win7上当前NetBeans(32位)7.2的默认安装。安装没有设置M2_HOME环境变量,也没有设置PATH中的任何条目。

“捆绑”maven位置

  • NetBeans工具>选项> Java> Maven Home设置为“Bundled” - 我猜某个地方“Bundled”这个词映射到某个路径......那个映射在哪里? (grep没有发现任何东西。)

  • 当NetBeans运行Maven时,我看到输出窗口信息,令我惊讶的是它没有运行位于C:\ Program Files(x86)\ NetBeans 7.2 \ java \ maven的maven安装,而是它在C:\ Users [user] \ AppData \ Roaming \ NetBeans \ 7.2 \ maven(\ bin \ mvn.bat)运行maven的完整副本。

显然,这就是“捆绑”指向的内容 - 但是为什么这个重复的maven文件树已经包含在程序文件下的NB树下呢?

(和FWIW,如果没有设置M2_HOME,mvn.bat将M2_HOME设置为mvn.bat的父目录,所以解释了M2_HOME本身,但不是NB如何决定“Bundled”= mvn.bat的路径。)

Maven的回购地点

  • 我看到Maven本地存储库按预期位于C:\ Users [user] .m2,但同样,这是指定的位置?

我不相信Bundled和repo路径是硬编码的,所以我假设有一些配置文件可以捕获这些路径,我想知道它在哪里!

顺便说一句,我确实知道可以在maven \ conf \ settings.xml中覆盖repo路径 - 目前只有注释,所以不会影响任何内容。

感谢您提供任何线索。

3 个答案:

答案 0 :(得分:3)

我正在使用NetBeans 7.2.1

它需要一点点黑客攻击,但是:

  1. 关闭NetBeans应用程序
  2. 转到%AppData%\ Roaming \ NetBeans \ 7.2.1 \ config \ Preferences \ org \ netbeans \ modules \ maven \ repositories
  3. 应该有两个文件:central.properties和local.properties向local.properties添加几行:
  4. ===

    local=D:/repo/
    localRepositoryPath=D:/repo/
    localRepository=D:/repo/
    localPath=D:/repo/
    path=D:/repo/
    

    我确信至少有一个条目应该是正确的xD。 NetBeans忽略不正确的条目。 它通过重建索引后会消失,但无论如何NetBeans都会以某种方式记住它。

答案 1 :(得分:0)

NB中的嵌入式maven有时难以控制,而其他时间根本不起作用。 我建议你自己安装maven。

http://maven.apache.org/download.html

安装完成后,请转到NB并告诉它安装新Maven的位置。

我看到Maven本地存储库在C:\ Users [user] .m2处于预期状态,但同样,指定了哪里?

这是默认设置。欲了解更多信息,请在此处阅读maven by example

答案 2 :(得分:0)

NetBeans maven的默认路径说明如下: C:\ Program Files \ NetBeans 7.3.1 \ java \ maven \ conf \ settings.xml

<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
<localRepository>/path/to/local/repo</localRepository>     
-->

在Windows上,“〜/”是C:\ Users \ [Username]

因此默认的捆绑路径是: C:\ Users \ [用户名] \平方米\库