我在Maven(v 3.3)中使用Eclipse Mars。当我更新pom中的依赖项(更改版本)时,即使我右键单击项目,然后选择“ Maven”->“ Update Project”,我的Eclipse-Maven项目也不会选中它。我知道这一点是因为我在Eclipse Java编辑器中看不到在使用命令行在命令行上构建项目时看到的编译错误。
mvn clean install
当我从工作区中删除项目并重新导入它时,一切恢复正常。但是,这是一个麻烦的过程。如何获得Maven-Eclipse项目以自动检测pom中的更改并适当更新项目库?
是的,在“项目”菜单中,选中“自动构建”。
将项目导入Eclipse时,请使用Eclipse自身内置的Maven支持(aka,m2e)。我建议您不要使用mvn eclipse:eclipse
它,因为它不能提供最佳效果(如您所见)。Maven是一个构建和依赖性管理工具,不是IDE。在我看来,期望它来管理特定于IDE的东西是愚蠢的(我意识到Maven团队的看法有所不同,Maven应该负责管理您的IDE,但这是无稽之谈)。
因此,如果您的系统上有可用的项目,请删除所有Eclipse特定的文件(通常只是.classpath
,.project
和folder .settings
),它们是由生成的,mvn eclipse:eclipse
并且您不希望它们干扰此处描述的“正确”导入过程。然后在Eclipse中,使用“文件”>“导入”>“ Maven”>“现有Maven项目”来导入项目。这应该导致Eclipse和Maven之间更好的集成,包括在更改pom时自动更新Eclipse构建路径。
作为快速检查,以这种方式进行导入后,您应该在项目的“构建路径”的“库”选项卡中(在“属性”对话框中)看到一个名为“ Maven Dependencies”的组。像这样:
如果您希望每次更改pom时都自动更新Eclipse项目配置,那么在Preferences > Maven下有一个(实验)设置。但是请注意,这样做可能并不理想-正如此功能请求中所述,这是一个冗长的过程,涉及Eclipse Project中的许多工作;在每次pom.xml
更改时自动执行此操作可能最终会带来超出其价值的麻烦。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句