我正在尝试了解有关NetBeans与其包含的Maven交互的一些细节,特别是NB如何知道“捆绑”maven的位置,以及maven如何知道其本地存储库的位置 - 即:在哪些配置文件被捕获
这是Win7上当前NetBeans(32位)7.2的默认安装。安装没有设置M2_HOME环境变量,也没有设置PATH中的任何条目。
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的路径。)
我不相信Bundled和repo路径是硬编码的,所以我假设有一些配置文件可以捕获这些路径,我想知道它在哪里!
顺便说一句,我确实知道可以在maven \ conf \ settings.xml中覆盖repo路径 - 目前只有注释,所以不会影响任何内容。感谢您提供任何线索。
答案 0 :(得分:3)
我正在使用NetBeans 7.2.1
它需要一点点黑客攻击,但是:
===
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 \ [用户名] \平方米\库