我有一个带有 JavaScript 代码的 Maven 项目。有一个特殊的 javascript 编译器插件连接到 pom.xml 中的编译目标。因此,当我输入“mvncompile”时,src/main/javascript 中的 JavaScript 源代码将被编译(压缩和混淆)并保存到 target/classes 目录中。在命令行上这效果很好。
但现在我想通过使用 Eclipse 和 m2eclipse 插件来使开发变得更容易。我希望 Eclipse 在我更改 JavaScript 文件时调用编译目标。我怎样才能做到这一点?当我保存 JavaScript 文件时,我只会在 Maven 控制台中看到“AUTO_BUILD”日志行,仅此而已。
在项目首选项中,可以配置生命周期映射。但由于某种原因,我只能将自定义目标添加到“清理后”和“资源更改时”。当我将“编译”目标添加到“资源更改”生命周期映射时,当我更改资源时,JavaScript 文件就会被编译。因此,我可以将 JavaScript 文件放入资源文件夹中,这样就可以工作,但这听起来很丑陋。
当我告诉 Eclipse“清理”我的项目时它也起作用。然后调用编译目标target。所以功能就在那里,我只想在保存 JavaScript 文件时执行它。这一定是可能的,或者不可能?
有什么提示吗?
在项目首选项中,可以配置生命周期映射。但由于某种原因,我只能将自定义目标添加到“清理后”和“资源更改时”。当我将“编译”目标添加到“资源更改”生命周期映射时,当我更改资源时,JavaScript 文件就会被编译。因此,我可以将 JavaScript 文件放入资源文件夹中,这样就可以工作,但这听起来很丑陋。
正如您所注意到的,在 Eclipse 中增量构建上运行的默认目标是process-resources
and resources:testResources
。就我个人而言,我觉得将 js 文件放在资源下并不难看,我只需将 javascript 插件绑定到process-resources
.
当我告诉 Eclipse“清理”我的项目时它也起作用。然后调用编译目标target。
在完整构建中(从 Eclipse 清理之后),运行的目标是process-test-resources
这实际上是一个构建生命周期阶段,包括compile
阶段,这就是为什么compile
当您从 Eclipse 清理项目时会被调用。但这并不能解决您的问题(在保存时运行您的插件)。
正如我所说,我只是将 js 文件放在 resources 下。但也许还有另一种选择:向项目添加另一个构建器。右键点击在你的项目上,然后属性 > 构建器 > 新建 > Maven 构建并将您的插件目标定义为运行期间的目标自动构建目标(更改或删除其他目标以满足您的需求):
替代文本http://img694.imageshack.us/img694/2382/screenshot003wo.png http://img694.imageshack.us/img694/2382/screenshot003wo.png
但我更喜欢另一种方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)