首先,我知道this question,但我对那里没有提供的细节感兴趣。
我查看了m2eclipse的文档,发现它令人不满意。我能找到的唯一相关部分是
或者,您可以从项目弹出菜单中运行“Maven / Update project configuration”操作,该菜单配置为默认运行“process-resources”,也可以在同一首选项页面上更改。
但我无法确定>>> list(unique([u'nowplaying', u'PBS', u'PBS', u'nowplaying', u'job', u'debate', u'thenandnow']))
[u'nowplaying', u'PBS', u'job', u'debate', u'thenandnow']
是否与Update project configuration
相同。我在浏览时发现的所有其他来源也没有提供任何细节。
总结一下,我想知道的是:
Update project
是否会运行任何Maven插件,如果是,哪些是默认设置?答案 0 :(得分:5)
Update项目是否运行任何Maven插件,如果是,那么哪些是默认设置?
在更新项目期间,m2eclipse使用maven-core构建项目对象模型。具体而言,maven model builder用于构建项目模型。换句话说,它会导致依赖性解析,错误和警告通知。有关结果的更多信息,您可以查看org.apache.maven.project.ProjectBuildingResult
我认为它不会导致插件的运行。我粗略地看了一下phase 2,但没有启用更新,这是插件处理。
是否有效果不是Maven插件的结果,而是内部的Eclipse?
是。请参阅答案的结尾部分。
对项目结构有哪些修改?例如,Maven依赖项是否在本地复制?
如果在本地你的意思是,在eclipse工作区然后没有。 Maven Dependencies显示对本地存储库的引用,该存储库通常是/.m2/repository。还可以基于Eclipse菜单“Windows-> Preference-> User Settings”的设置来解析存储库。
有关详细信息,您可以从以下source code开始(在eclipse中更新项目时调用的方法之一),
public IStatus runInWorkspace(IProgressMonitor monitor) {
...... Unimportant stuff
MavenUpdateRequest request = new MavenUpdateRequest(projects, offline,forceUpdateDependencies);
Map<String, IStatus> updateStatus = configurationManager.updateProjectConfiguration(request, updateConfiguration,
cleanProjects, refreshFromLocal, monitor);
...... Unimportant stuff
}
执行的不同任务摘要(非详尽无遗)
此外,它还会在工作区中显示父pom存在的一些内容,这在此上下文中并不是非常重要。
更新项目配置与
主要相关project.build.sourceEncoding
maven属性为您的项目设置默认字符集。