为什么M2Eclipse执行maven编译器插件
这目前不是一个错误,我只是想知道m2e执行maven编译器插件的工作原理 我在插件的pom.xml中找不到任何lifecycleMappingMetadata 有没有可能魔法发生在为什么M2Eclipse执行maven编译器插件,eclipse,m2eclipse,maven-compiler-plugin,Eclipse,M2eclipse,Maven Compiler Plugin,这目前不是一个错误,我只是想知道m2e执行maven编译器插件的工作原理 我在插件的pom.xml中找不到任何lifecycleMappingMetadata 有没有可能魔法发生在 workspace\.metadata\.plugins\org.eclipse.m2e.core\>projectname>.lifecyclemapping 我无法真正读取该文件,它似乎是二进制文件。这取决于您在Eclipse中执行的操作: 如果您通过Eclipse中的Maven启动配置运行Maven目标,那么
workspace\.metadata\.plugins\org.eclipse.m2e.core\>projectname>.lifecyclemapping
我无法真正读取该文件,它似乎是二进制文件。这取决于您在Eclipse中执行的操作:
- 如果您通过Eclipse中的Maven启动配置运行Maven目标,那么执行
,就像从cmd行运行Maven一样(好吧,大部分情况下)Maven编译器插件
- 否则,不执行
;Eclipse运行自己的编译器,并忽略插件。但是请注意,如果您在maven编译器插件
中(在插件的配置部分)为JVM配置参数,某些Eclipse插件可能会考虑这些参数(pom.xml
,但可能还有其他的)m2e apt
我不理解你关于lifecycleMappingMetadata的陈述;您希望在pom.xml中找到它吗?如果是这样,根据我的经验,
maven编译器插件
是例外(即,您不需要添加显式的生命周期映射)。我通过run on server运行我的项目。。当插件未执行时,谁将我的类编译到目标/类文件夹中?这个文件夹是通过pom定义的。xmlclipse使用它自己的编译器(EclipseJDT)——这就是实现它的编译器。我应该补充一点,大多数情况下都工作得出奇地好。我只能在一些非常特殊的情况下找到差异(Eclipse编译和通过标准maven/java编译之间),例如注释处理器和某些类型的泛型滥用。这意味着m2e将Eclipse编译器配置为输出到目标/类?是的,我想是这样。当Maven nature出现在eclipse项目中时,某些变量会自动拾取,例如目标/类。但与IntelliJ不同,没有插件真正运行。这在更高级的设置中更为明显;例如,maven war插件也不会运行,但Eclipse知道从war插件自动获取配置的一部分(但不是全部)。另外,不确定您是否知道右键单击项目,然后单击Maven部分,然后单击更新项目
——这将获取pom.xml中的内容并更新Eclipse配置文件。