用rhino编译少编译错误:org.lesscss.LessException:org.mozilla.javascript.EcmaError:TypeError:找不到对象中的函数绑定

时间:2014-12-02 11:50:44

标签: gradle rhino

当我尝试使用less-rhino使用gradle的lesscss插件编译较少的css时出现此错误。 我试过不同的java版本,不同的rhino版本,甚至尝试将我的操作系统升级到OS X Yosemite。什么都没有帮助。 使用lessc命令行(npm)可以工作。

org.lesscss.LessException: org.mozilla.javascript.EcmaError: TypeError: Cannot find function bind in object
  function _math(fn, unit, n) {
      if (!(n instanceof tree.Dimension)) {
          throw {type:"Argument", message:"argument must be a number"};
      }
      if (unit == null) {
          unit = n.unit;
      } else {
          n = n.unify();
      }
      return new (tree.Dimension)(fn(parseFloat(n.value)), unit);
  }
  . (jar:file:.../lesscss-1.7.0.1.1.jar!/META-INF/less-rhino-1.7.0.js#2926)

2 个答案:

答案 0 :(得分:2)

所以我终于得到了答案:

必须删除旧的

/Library/Java/Extensions/js.jar

文件,因为它包含rhino 1.7 R2

(不知怎的,它比你的类路径上的版本更强)

答案 1 :(得分:0)

我运行了依赖:树,发现了两个maven版本,所以排除了旧版本。

<exclusion> <artifactId>js</artifactId> <groupId>rhino</groupId> </exclusion>