Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用m2e在Eclipse中自描述项目_Eclipse_Maven_M2e - Fatal编程技术网

使用m2e在Eclipse中自描述项目

使用m2e在Eclipse中自描述项目,eclipse,maven,m2e,Eclipse,Maven,M2e,我正在使用Eclipse和m2e将Maven项目导入Eclipse eclipse文档说明了关于.project文件的以下内容: The purpose of this file is to make the project self-describing, so that a project that is zipped up or released to a server can be correctly recreated in another workspace. 但是,.proj

我正在使用Eclipse和m2e将Maven项目导入Eclipse

eclipse文档说明了关于.project文件的以下内容:

The purpose of this file is to make the project self-describing, 
so that a project that is zipped up or released to a server can be 
correctly recreated in another workspace.
但是,.project文件不包含有关导入的Java文件或pom.xml的任何信息。它只包含一些生成命令和性质。因此,我不明白它是如何让项目自我描述的


似乎每个第一次下载存储库的开发人员都需要在Eclipse中再次导入Maven项目。我希望有一个至少包含pom.xml路径的元文件,这样开发人员就可以在下载存储库内容后拥有一个就绪的环境,而不需要将Maven项目导入Eclipse。这可能吗?

从技术上讲,Eclipse对maven一无所知。project文件是Eclipse将有关项目的元数据存储在项目中包含的文件中的一种方式(尽管现在一些元数据已经转移到manifest.MF文件中)。.project文件仍然包含有关性质(工具使用这些性质来标识工具感兴趣的项目)和构建器(描述在项目中的资源发生更改时调用哪些工具)的信息。通过这种方式,.project使项目自我描述

Maven对Eclipse世界来说是一个相对较新的人(尽管是一个稳定且成熟的人)。正如您所指出的,maven将其所有项目信息存储在pom.xml文件中。Maven通过提供两个操作“更新项目配置”和“更新项目依赖项”来适应Eclipse世界,这两个操作获取pom.xml文件中的信息并更新.Project和.classpath文件的内容


因此,开发人员不必像您建议的那样手动编辑.project和.classpath文件,而只需在从存储库中提取Eclipse项目后调用这两个函数。

请解释“开发人员在下载存储库内容后可以拥有一个就绪的环境,而不需要将Maven项目导入Eclipse。”你所说的准备就绪的环境是什么意思?如果不将项目导入IDE,您希望开发人员做什么?我希望开发人员只打开一个项目文件,并将所有源文件加载到其项目工作区中。这是使用其他IDE(如Visual Studio、Code Warrior和CodeBlocks)的常见过程。这是m2e的全部要点。在Eclipse中创建/导入项目时,.classpath和.project是自动生成的。只要您的项目是正确的结构化和专业化的,您就不需要它们来描述项目,因为pom真正描述了所有的和更好的(更可读、更可配置和更可维护)。请参阅以获得更好的解释。我想我理解你的意思:很久以前(在遥远的银河系中…),当我们使用JBuilder时,我们常常双击扩展名为.jpx的文件,而JBuilder是在打开此项目的情况下启动的。不幸的是,我不认为Eclipse是这样工作的。您必须从Eclipse导入所有内容。例如:Import>Existing Projects into WorkspaceMaven提供了将项目解除绑定到特定IDE的功能,与.jpx或.sln等依赖IDE的付费描述符相比,它提供了一个更开放的开发环境。开发人员第一次下载存储库的情况如何?他需要将Maven项目(pom.xml)导入Eclipse,因为Eclipse文件afaik中没有存储关于pom.xml文件的信息?或者它存储在某个地方,只要打开Eclipse.project文件就会在Eclipse中打开我的Maven项目?pom文件应该与项目中的所有其他源文件一起进行版本控制。您必须运行“importmaven项目”,让maven认识到它也需要针对新项目工作。