如何在Eclipse中保存Maven"编译"目标?

kay*_*ahr 26 eclipse maven-2 m2eclipse

我有一个带JavaScript代码的Maven项目.有一个特殊的javascript编译器插件连接到pom.xml中的编译目标.因此,当我输入"mvn compile"时,src/main/javascript中的JavaScript源代码将被编译(压缩和混淆)并保存到target/classes目录中.在命令行上,这很好用.

但是现在我希望通过使用带有m2eclipse插件的Eclipse来简化开发.每当我更改JavaScript文件时,我都希望Eclipse调用编译目标.我怎样才能做到这一点?当我保存JavaScript文件时,我只是在maven控制台中看到一个"AUTO_BUILD"日志行,就是这样.

在项目首选项中,可以配置生命周期映射.但出于某种原因,我只能将自定义目标添加到"清理后"和"资源已更改".当我将"compile"目标添加到"resource changed"生命周期映射时,我会在更改资源时编译JavaScript文件.所以我可以把我的JavaScript文件放到资源文件夹中,它会工作,但这听起来很难看.

当我告诉Eclipse"清理"我的项目时,它也在工作.然后调用编译目标目标.所以功能就在那里我只想在保存JavaScript文件时执行它.这必须是可能的,不管怎么样?

任何提示?

Pas*_*ent 10

在项目首选项中,可以配置生命周期映射.但出于某种原因,我只能将自定义目标添加到"清理后"和"资源已更改".当我将"compile"目标添加到"resource changed"生命周期映射时,我会在更改资源时编译JavaScript文件.所以我可以把我的JavaScript文件放到资源文件夹中,它会工作,但这听起来很难看.

正如您所注意到的那样,Eclipse中的增量构建运行的默认目标是process-resourcesresources:testResources.就个人而言,我没有发现将js文件放在资源下的丑陋,我只想绑定javascript插件process-resources.

当我告诉Eclipse"清理"我的项目时,它也在工作.然后调用编译目标目标.

在完全构建(从Eclipse中删除之后),目标运行process-test-resources实际上是包含compile阶段的构建生命周期阶段,这就是compile从Eclipse清理项目时调用的原因.但这并不能解决您的问题(在保存时运行您的插件).


正如我所说,我只是把js文件放在资源之下.但是可能还有另一种选择:在项目中添加另一个Builder.右键单击您的项目,然后单击Properties> Builders> New> Maven Build并将您的插件目标定义为在Auto Build Goals期间运行的目标(更改或删除其他目标以满足您的需求):

alt text http://img694.imageshack.us/img694/2382/screenshot003wo.png

但我更喜欢另一种方法.

  • 不要在New-Builder向导中使用此构建器(在我的Helios + m2eclipse的特定设置中).你是怎么做到的? (18认同)
  • m2e必须在过去两年内发生变化. (2认同)
  • @ antony.trupe真的.我也不能遵循这些指示. (2认同)