【问题标题】:org.mozilla.javascript.EvaluatorException: illegal character (/[filename].js#1) JSCoverorg.mozilla.javascript.EvaluatorException: 非法字符 (/[filename].js#1) JSCover
【发布时间】:2014-04-28 14:20:35
【问题描述】:

我正在尝试在 Windows 7 上运行 JSCover,我已将要测试的文件放在 ~\JSCover-0.2.0\doc\example
我的两个文件正在产生500 (Internal Server Error) 错误,而 jquery jasmine 和其他库加载正常。

错误:

org.mozilla.javascript.EvaluatorException: illegal character (/onTheMove-Tree.js#1)
at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:77)
at org.mozilla.javascript.DefaultErrorReporter.error(DefaultErrorReporter.java:64)
at org.mozilla.javascript.Parser.addError(Parser.java:188)
at org.mozilla.javascript.Parser.addError(Parser.java:166)
at org.mozilla.javascript.Parser.addError(Parser.java:162)
at org.mozilla.javascript.TokenStream.getToken(TokenStream.java:832)
at org.mozilla.javascript.Parser.peekToken(Parser.java:296)
at org.mozilla.javascript.Parser.name(Parser.java:2880)
at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2792)
at org.mozilla.javascript.Parser.memberExpr(Parser.java:2418)
at org.mozilla.javascript.Parser.unaryExpr(Parser.java:2316)
at org.mozilla.javascript.Parser.mulExpr(Parser.java:2241)
at org.mozilla.javascript.Parser.addExpr(Parser.java:2225)
at org.mozilla.javascript.Parser.shiftExpr(Parser.java:2206)
at org.mozilla.javascript.Parser.relExpr(Parser.java:2181)
at org.mozilla.javascript.Parser.eqExpr(Parser.java:2153)
at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:2142)
at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:2131)
at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:2120)
at org.mozilla.javascript.Parser.andExpr(Parser.java:2109)
at org.mozilla.javascript.Parser.orExpr(Parser.java:2098)
at org.mozilla.javascript.Parser.condExpr(Parser.java:2062)
at org.mozilla.javascript.Parser.assignExpr(Parser.java:2033)
at org.mozilla.javascript.Parser.expr(Parser.java:2012)
at org.mozilla.javascript.Parser.nameOrLabel(Parser.java:1765)
at org.mozilla.javascript.Parser.statementHelper(Parser.java:1032)
at org.mozilla.javascript.Parser.statement(Parser.java:901)
at org.mozilla.javascript.Parser.parse(Parser.java:540)
at org.mozilla.javascript.Parser.parse(Parser.java:478)
at jscover.instrument.SourceProcessor.instrumentSource(SourceProcessor.java:408)
at jscover.instrument.SourceProcessor.processSourceWithoutHeader(SourceProcessor.java:394)
at jscover.instrument.SourceProcessor.processSource(SourceProcessor.java:386)
at jscover.instrument.SourceProcessor.processSourceForServer(SourceProcessor.java:375)
at jscover.instrument.InstrumenterService.instrumentJSForWebServer(InstrumenterService.java:360)
at jscover.server.InstrumentingRequestHandler.handleGet(InstrumentingRequestHandler.java:436)
at jscover.server.HttpServer.run(HttpServer.java:403)

我已经检查过,通常建议的解决方案是 change encoding java -Dfile.encoding=UTF-8 -jar JSCover-all.jar 但是在我的情况下结果并没有什么不同。
我是在错误的 .jar 上运行它吗?

我正在停止运行 example-server.bat,然后运行命令,然后在更改编码后再次启动 example-server.bat。

更新:我检查过,我的系统编码是 ISO-8859-1,但java -Dfile.encoding=ISO-8859-1 -jar JSCover-all.jar 仍然没有产生任何效果。
我也尝试过指定完整路径,但没有任何运气

C:\Users\Administrator\Downloads\JSCover-0.2.0\target\dist>java -Dfile.encoding=
ISO-8859-1 -jar "C:\Users\Administrator\Downloads\JSCover-0.2.0\target\dist\JSCo
ver-all.jar"

如何检查 JSCover 服务器运行的编码是什么?以确认我的更改是否已生效。

【问题讨论】:

    标签: javascript windows encoding jasmine jscoverage


    【解决方案1】:

    这不是一个合适的解决方案,更多的是临时解决这个问题的方法:
    我做了什么,我在 Notepadd++ 中打开了给我 500 (Internal Server Error) 的文件,然后将编码更改为“在没有 BOM 的情况下转换为 UTF-8”。
    这让我能够解决这个问题,所以从技术上讲,这是解决这个问题的一种方法,但是我希望有人提出一个更好的解决方案。

    【讨论】:

      猜你喜欢
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 2016-08-27
      相关资源
      最近更新 更多