Eclipse m2e插件系统属性无法使用的解决方法

m2e插件


m2e是eclipse官方出的maven插件,在eclipse luna以后的版本中已经默认集成。m2e可以在eclipse中十分方便的管理maven项目,管理本地和远程库的索引。

问题:无法使用内置的maven变量


maven内置了一些关于项目工程和系统的一些变量,避免项目配置的硬编码,开发和维护都十分便捷。但是m2e在plugin等配置中不能正确的获取这些变量的值,使用起来不是很方便。

${basedir}为例,${basedir}表示工程根目录,在一些有输入或者输出的插件中使用起来十分简洁,可是在pom中如果直接使用,发现无法获取正确的值,如下图:

Eclipse m2e插件系统属性无法使用的解决方法_第1张图片

解决方法


m2e可以在properties块获取正确的值,所以只需要在properties部份定义一个新值,获取正确的值,在插件部分使用新值即可。

  1. properties定义prj.basedir属性,值为${basedir},如下图:

    Eclipse m2e插件系统属性无法使用的解决方法_第2张图片

  2. 在需要${basedir}的地方使用${prj.basedir}代替。如下图:

相关阅读


Eclipse Maven插件(m2e)库索引跨workspace共享的实现

参考资料


  • m2e bug列表相关问题
  • Maven官方pom设置参考

你可能感兴趣的:(Eclipse m2e插件系统属性无法使用的解决方法)